【问题标题】:Maximum number of nodes in a balanced binary tree平衡二叉树的最大节点数
【发布时间】:2014-03-18 10:36:24
【问题描述】:

谁能提出一个递归公式来查找二叉搜索树中的最大节点数?我知道深度为 n 的树的通用公式是 2^(n+1)-1,但递归部分让我感到困惑。

【问题讨论】:

  • 你用谷歌搜索了吗?
  • 我做了,但找不到明确的答案。
  • 任何帮助将不胜感激。
  • 最大节点数是什么意思?您只想查找/遍历所有节点,是吗?
  • 我想要一个公式,它可以找到平衡二叉树中可能的最大节点数。它将使用深度 n,并将其放入公式 - (2^(n+1))-1 即如果深度为 4,则该树中可能的最大节点数为 31。我在想如果该方法称为 maxNodes(),然后 maxNodes(null) 将返回零,maxNodes(leaf x) 将返回 1,但对于 maxNodes(root LxR),我不确定使用递归会返回什么。 (澄清一下,根 LxR 是具有左右子树的节点 x。)

标签: binary-tree nodes binary-search-tree


【解决方案1】:

我想我现在明白了:

B(n) = (2^n) + B(n-1) , n=树的深度

【讨论】:

  • 如果有人对如何使用递归在深度为 n 的树中找到可能的最小节点数有任何想法,我们将不胜感激。
  • @jmoerdyk 这对 OP 提出的问题的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
相关资源
最近更新 更多