下列各序列中不是堆的是( )。

admin2019-02-02  14

问题 下列各序列中不是堆的是(    )。

选项 A、(91,85,53,36,47,30,24,12)
B、(91,85,53,47,36,30,24,1 2)
C、(47,91,53,85,30,12,24,36)
D、(91,85,53,47,30,12,24,36)

答案C

解析 堆可以看成一棵完全二叉树:任一根节点>=左右孩子(或者<=)(大的叫大根堆,小的叫小根堆)。注意一个堆中的这种性质有一致性,不能既有大于又有小于情况存在。本题可以这么做,把结点按照完全二叉树画出来就一目了然了。这个题目很明显91是最大的根,而C选项是“左根右”的排序,那么91的左边只有47,其他都在右边,而右边无法按照此顺序排列,故选C。
转载请注明原文地址:https://kaotiyun.com/show/sbRp777K
0

最新回复(0)