对于n个元素的关键码序列{k1,k2,…,kn},当且仅当满足下列关系时称其为堆。 以下关键码序列中,( )不是堆。

admin2017-09-13  14

问题 对于n个元素的关键码序列{k1,k2,…,kn},当且仅当满足下列关系时称其为堆。

以下关键码序列中,(    )不是堆。

选项 A、12,25,22,53,65,60,30
B、12,25,22,30,65,60,53
C、65,60,25,22,12,53,30
D、65,60,25,30,53,1 2,22

答案C

解析 本题考查数据结构基础知识。
将序列用完全二叉树表示,其中ki的左孩子为k2i、右孩子为k2i+1,更容易判断其中的元素是否满足堆的定义。
与A.12,25,22,53,65,60,30对应的二叉树如下图(a)所示,其每个非叶子结点都小于左孩子、右孩子结点,所以是小项堆。
与B.12,25,22,30,65,60,53对应的二叉树如下图(b)所示,其每个非叶子结点都小于左孩子、右孩子结点,所以是小顶堆。

与C.65,60,25,22,12,53,30对应的二叉树如下图(c)所示,其中以25为根的子树满足小丁堆定义,而以60为根的子树满足大顶堆,所以该序列不完全符合大顶堆(或小项堆)的定义。
与D.65,60,25,30,53,12,22对应的二叉树如下图(d)所示,其每个非叶子结点都大于左孩子、右孩子结点,所以是大顶堆。
转载请注明原文地址:https://jikaoti.com/ti/ynL7FFFM
0

相关试题推荐
最新回复(0)