问题
单项选择题
以下序列中不符合堆定义的是()。
A.102,87,100,79,82,62,84,42,22,12,68
B.102,100,87,84,82,79,68,62,42,22,12
C.12,22,42,62,68,79,82,84,87,100,102
D.102,87,42,79,82,62,68,100,84,12,22
答案
参考答案:D
解析:
堆的定义:n个元素的序列{k1, k2, ..., kn}当且仅满足如下的关系式时才称之为堆:或
,相应的称为小顶堆或大顶堆。
判断堆的办法是把序列看成一棵完全二叉树,按层序遍历,若树中的所有非终端节点的值均不大于(或不小于)其左右孩子的节点的值,则该序列为堆。