【发布时间】:2021-11-02 11:26:30
【问题描述】:
堆根是否包含在堆高计数中?
堆高应该代表堆结构的层数。 根据公式
- MIN 元素数 = 2 次幂 (h-1),
- 最大元素数 = 2 次幂 h -1
根级别计入堆高。虽然,我发现了一些不是这种情况的描述。 -Q= 如果有任何 不应该包含 root 的规则,我很感兴趣 计算堆高度。
另外,我已经找到了答案,在堆中,如果两个子元素具有相同的值,并且应该交换父元素,则可以安全地交换它(没有偏好左/右子元素)。有人可以证实这一点,所以我可以完全排除任何疑问。
更新: 根据height的定义,根的高度为0,则正确的最小和最大元素数公式为:
- MIN=2 次幂
- MAX=元素数 = 2 次方 (h+1) -1。
根据树高的官方定义高度计数中不包括根级别。感谢 trincot 帮助解决这个疑问。 虽然这是解决堆高度的正确方法,但网上可能有一些资源包括高度计数的根级别(官方定义是错误的)。
【问题讨论】:
标签: heap