参考答案和解析
正确答案:C
解析:小顶堆要求序列中的元素满足ki=k2i且ki=k2i+1,可以将序列用一个完全二叉树表示出来,所有非终端结点的值要不大于其左右孩子结点的值。
更多“下面各序列中,只有(60)不是小顶堆。A.(16,18,32,65,43,57,66)B.(9,21,34,35,47,66,37)C.(17,22,56 ”相关问题
  • 第1题:

    对于n个元素的关键字序列{ki, k2,…,kn},当且仅当满足关系ki≤k2i且ki≤k2i+i(i=1, 2,…[n/2])时称为小根堆(小顶堆)。以下序列中,( )不是小根堆。

    A.12, 20, 36, 48, 25, 50, 40
    B.12, 36, 20, 48, 40, 25, 50
    C.12, 20, 25, 36, 40, 48, 50
    D.12, 36, 20, 48, 25, 50, 40

    答案:D
    解析:
    在完全二义树中对结点可如下编号:根结点为1号,其左孩子结点为2号,右孩子结点为3号,对于编号为i的结点,其左孩子结点若存在,则编号为2i,其右孩子结点若存在,则编号为2i+1。可将序列中的元素放入一棵完全二叉树上进行判断,如下图所示。

    根据堆的定义,可知选项D不是堆。

  • 第2题:

    堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则(请作答此空)是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为( )。对于10个结点的小顶堆,其对应的二叉树的高度(层数)为( )。堆排序是一种基于堆结构的排序算法,该算法的时间复杂度为( )。

    A.10,20,50,25,30,55,60,28,32,38
    B.10,20,50,25,38,55,60,28,32,30
    C.60,55,50,38,32,30,28,25,20,10
    D.10,20,60,25,30,55,50,28,32,38

    答案:A
    解析:
    将元素按照层次遍历的方式压入二叉树,只有选项A满足小顶堆的要。求小顶堆是一种经过排序的完全二叉树,对于一个完全二叉树,第1层为最多1个结点,第2层最多2个结点,第n层最多2^ (n- 1 )个结点,本题1 0个结点=1 +2+4+3 ,所以需要4层

  • 第3题:

    关于堆的说法错误的是

    A.堆排序的时间复杂度是O(nlogn)

    B.小顶堆和大顶堆排序的时间复杂度都是O(nlogn),但大顶堆空间复杂度更优。

    C.优先级越高,关键字越大,采用大顶堆;优先级越高,关键字越小,采用小顶堆。

    D.堆按照从上到下,从左到右顺序得到的序列一定有序。


    B 若有n个元素的序列,将元素接腰序组成一棵完全二叉树,当且仅当满足下列条件时称为堆。大根堆是指所有结点的值大于或等于左右子结点的值;小掇堆是指所有结点的值小于或等于左右子结点的值。在调整建堆的过程中,总是将根结点值与左、右子树的根结点进行比较,若不满足堆的条件,则将左、右子树根结点值中的大者与根结点值进行交换。堆排序最坏情况需要0(nl092n)次比较,所以时间复杂度是0(nl092n),B选项正确。

  • 第4题:

    对于n个元素的关键宇序列{k1,k2,...kn},当且仅当满足关系ki≤k2i且ki≤k2i+1{i=1.2...[n/2]}时称其为小根堆(小顶堆)。以下序列中,(60)不是小根堆。

    A.16,25,40,55,30,50,45
    B.16,40,25,50,45,30,55
    C.16,25,39.,41,45,43,50
    D.16,40,25,53,39,55,45

    答案:D
    解析:
    按照条件“ki≤k2i且ki≤k2i+1”要求,带入四个选项。以选项A为例,当i=时,K1(16)

  • 第5题:

    倒置小顶堆一定是大顶堆


    错误