堆排序是一种基于( )排序方法,(请作答此空)不是堆。
- A.15,28,25,56,68,63,30
- B.15,28,25,30,68,63,56
- C.68,28,63,25,15,56,30
- D.68,56,39,63,28,25,15
正确答案及解析
正确答案
D
解析
堆排序是一种改进选择排序方法。对于n个元素关键字序列{k1,k2,…,kn},当且仅当满足下列关系时称其为堆:
若将此序列对应一维数组(即以一维数组作为序列存储结构)看成是一个完全二叉树,则堆含义表明,完全二叉树中所有非终端结点值均不大于(或不小于)其左、右孩子结点值。对于题目中给出四个序列分别构造完全二叉树,如下图所示。其中,(d)中结点56,即不满足堆定义。