最小堆的数组表示

时间:2012-10-28 03:41:53

标签: algorithm

如果数组的大小为20(0-19)且映射是从(i-1)/ 2到父级。 (i-1)/ 2的映射与表示大小为13的最小堆有什么关系?

1 个答案:

答案 0 :(得分:2)

正如Dan所说,无论数组大小如何,映射都是一样的。如果有帮助,这里是您提供的示例的二进制堆树,第二个70(在级别3中)更改为71. Binary heap tree

您可以通过从上到下,从左到右遍历树来获取二进制堆数组。下面是生成的数组,其索引如下所示,因此您可以轻松地将映射应用于索引并查看其中出现的值并与树形图交叉检查。

array  :  10 | 20 | 25 | 60 |  30 | 58 | 71 | 99 | 70 |  82 | 50 | 90 | 85
indices:   0 |  1 |  2 |  3 |   4 |  5 |  6 |  7 |  8 |   9 | 10 | 11 | 12 

我希望这能解决你的疑虑。