问题 单项选择题

对于具有n个元素的关键字序列{k1,k2,…,kn),当且仅当满足关系)时称为大根堆。据此可以断定,()一不是大根堆。

A.59,53,48,46,37,31,25 

B.59,46,53,48,37,31,25 

C.59,37,53,25,31,46,48 

D.59,53,48,31,25,46,37

答案

参考答案:B

解析:

本题考查排序算法。利用完全二叉树结构可以容易地判断一个序列是否为堆。在完全二叉树上,结点i的左孩子编号为2i(若存在左孩子),右孩子编号为2i+1(若存在右孩子),因此,只要判断每个结点是否同时大于其左、右孩子即可。 将题中A、B、C、D所表示的序列放入完全二叉树后,结果如下图所示,其中,B序列中46、48、37这三个元素不满足大顶堆的定义。

阅读理解
单项选择题