繁体   English   中英

如何计算给定深度的不平衡二叉树中的节点数

[英]How to calculate the number of nodes in an unbalanced binary tree at a given depth

如果二叉树不平衡,我正在尝试计算树在给定深度处将具有的节点数。

我知道,在完全平衡的情况下,可以使用 2^d 来计算节点数,其中 d 是树的深度。

假设有一棵二叉树。 在根级别,它只有一个节点。 另外,假设根节点只有一个子节点而不是 2。所以在下一个深度,只有一个节点而不是 2。这意味着在下一个深度,将只有两个节点而不是 4。下一个深度,将有 8 个而不是 16 个。

所以是的,有什么方法可以根据先前深度中存在或不存在的节点数来预测给定深度处的节点数。

如果有一个有用的数学公式,任何类型的答案都可以。 如果您知道一种方法,我可以使用任何编程语言以广度优先搜索顺序迭代地进行操作,这也会有所帮助。

如果您知道深度 𝑑 的节点数是 𝑛,那么深度 𝑑 + 1 的节点数介于 0 和 2𝑛 之间。 当深度 𝑛 的所有节点碰巧是叶子时,达到最小值 0,当深度 𝑛 的所有节点碰巧有两个孩子时,达到最大值 2𝑛。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM