考虑一个 n 元素二进制堆的任何数组表示,其中元素存储从数组的索引 1 到索引 n。对于存储在数组索引 i (i <= n) 处的元素,父元素的索引为
(A) i – 1
(B)楼层(i/2)
(C)天花板(i/2)
(D) (i+1)/2答案:(乙)
说明:二元堆可以用数组来表示:将元素存储在一个数组中,并使用它们在数组中的相对位置来表示子父关系。
对于存储在数组索引 i 处的二进制堆元素,
父节点将位于索引: floor(i/2)
左孩子将在索引:2i
右孩子将位于索引:2*i + 1
这个解释是由Saksham Seth 提供的。
这个问题的测验