📜  数据结构|堆|问题5

📅  最后修改于: 2021-06-28 23:08:55             🧑  作者: Mango

考虑使用数组实现的二进制最大堆。以下哪个数组代表二进制最大堆? (GATE CS 2009)
(A) 25、12、16、13、10、8、14
(B) 25、12、16、13、10、8、14
(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

这个问题的测验