最小堆中的最小叶节点仅使用堆操作

时间:2018-05-30 17:04:03

标签: data-structures heap

如何仅使用堆操作在min Heap中找到最小的叶节点?

2 个答案:

答案 0 :(得分:0)

如果它是二进制堆,当n是堆上的元素数时,你可以取[floor(n / 2)] + 1它会给你最左边的叶子节点。

答案 1 :(得分:0)

最小堆中唯一的要求是每个节点都小于其父节点。因此,叶子之间没有顺序,这意味着这样的叶子可以是用于存储堆的阵列的后半部分中的任何节点。因此,应该遍历 n / 2 元素(数组的后半部分)并找到最小的元素。