📜  数据结构 |堆 |问题 5

📅  最后修改于: 2021-09-08 15:02:29             🧑  作者: Mango

考虑使用数组实现的二进制最大堆。以下哪个数组表示二进制最大堆? (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

这个问题的测验