考虑使用数组实现的二进制最大堆。以下哪个数组表示二进制最大堆? (GATE CS 2009)
(一) 25、12、16、13、10、8、14
(乙) 25、12、16、13、10、8、14
(三) 25、14、16、13、10、8、12
(四) 25、14、12、13、10、8、16答案: (C)
说明:如果树中每个节点的数据都大于或等于其子节点的数据,则该树是最大堆的。
在堆树的数组表示中,索引 i 处的节点在索引 2i + 1 处有其左孩子,在索引 2i + 2 处有右孩子。
25
/ \
/ \
14 16
/ \ / \
/ \ / \
13 10 8 12
这个问题的测验