考虑使用数组实现的二进制最大堆。以下哪个数组代表二进制最大堆?
(A) 25、12、16、13、10、8、14
(B) 25、14、13、16、10、8、12
(C) 25、14、16、13、10、8、12
(D) 25、14、12、13、10、8、16答案: (C)
说明:如果树中每个节点上的数据均大于或等于其子级数据,则该树为max-heap。
在堆树的数组表示中,索引为i的节点的左子节点的索引为2i +1,索引的右子节点的索引为2i + 2。
25
/ \
/ \
14 16
/ \ / \
/ \ / \
13 10 8 12
这个问题的测验