问题 单项选择题

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

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,3l,25,46,37

答案

参考答案:B

解析:

本题考查排序算法。

利用完全二叉树结构可以容易地判断一个序列是否为堆。在完全二叉树上,结点i的左孩子编号为2i(若存在左孩子),右孩子编号为2i+1(若存在右孩子1),因此,只要判断每个结点是否同时大于其左、右孩子即可。

将题中A、B、C、D所表示的序列放入完全二叉树后,结果如下图所示,其中,B序列中46、48、37这三个元素不满足大顶堆的定义。

[*]

单项选择题
单项选择题