不完全二叉树的高度和深度的关系

问题描述 投票:0回答:1

"设H为树的高度。如果堆不是完整的 二叉树(因为底层未满),则 给定深度的节点并不都具有相同的高度。例如。, 尽管深度为 H 的所有节点的高度都为 0,但节点 深度为 H-1 的高度可能为 0 或 1"

在搜索语句的解释时找到了这个解释--“N 元素堆中具有给定高度 h 的最大节点 = N/2^(h+1) 根据 CLRS。

这是否意味着不同级别(不同深度)的节点可以具有相同的高度?

我知道没有。堆中叶子的数量是 N/2,这有什么关系吗???

algorithm heap
1个回答
0
投票

例如,这是一个有效的堆:

        __1__
       /     \
      3       5
     / \     / \
    4   9   6   10
   / \
  7   11

现在比较节点5和节点4的情况,他们在不同的层级(即不同的深度),但高度相同(即它们作为根的子树高度相同)。

另一方面,节点 3 和 5 在同一层,但它们的高度不同。

关于术语的注释。引用有“如果堆不是完整的二叉树......”。其他来源将上述示例定义为“完全二叉树”,而所有叶子都在底层的树将被称为“完美二叉树”。所以我会把这句话读作“如果堆不是一个完美的二叉树......”。见维基百科

有些作者使用术语 complete 来指代上面定义的 perfect 二叉树

这显然令人困惑,意味着我们总是需要验证作者对这些术语的含义。

© www.soinside.com 2019 - 2024. All rights reserved.