单选题在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在( )位置上。A∣n/2∣B∣n/2∣C1D∣n/2∣+2

单选题
在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在(  )位置上。
A

∣n/2∣

B

∣n/2∣

C

1

D

∣n/2∣+2


参考解析

解析:

相关考题:

一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为( )。 A.39,47,46,80,41,57B.39,41,46,80,47,57C.41,39,46,47,57,80D.39,80,46,47,41,57

一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆为回答( )(堆顶元素是最小元素,采用树的形式建堆)。 A. 39,41,57,80,47,46B.39,41,46,80,47,57C. 39,47,46,80,41,57D.39,41,57,80,46,47输出堆顶元素后,调整后的堆为回答( )。A.41,47,46,80,57B.41,57,46,80,47C.41,57,80,47,46D.41,80,46,47,57

●高度为h的堆中,最多有 (52) 个元素,最少有 (53) 个元素,在大根堆中,关键字最小的元素可能存放在堆的 (54) 地方。(52) ,(53) A.2h-1B.2 h-1C.2hD.2h+1(54) A.2 h-1≤w≤2 h-1B.2 h≤w≤2 h+1C.2 h+1≤w≤2 h-1D.不确定

● (45) 从二叉树的任一结点出发到根的路径上,所经过的结点序列必按其关键字降序排列。(45) A.二叉排序树B.大顶堆C.平衡二叉树D.小顶堆

对于n个元素的关键字序列{k1,k2,…,kn},当且仅当满足关系ki≤k2i,且ki≤k2i+1(2i≤ n,2i+1≤n)称其为小根堆,反之则为大根堆。以下序列中,(56)不符合堆的定义。A.(4,10,15,72,39,23,18)B.(58,27,36,12,8,23,9)C.(4,10,18,72,39,23,15)D.(58,36,27,12,8,23,9)

______从二叉树的任一结点出发到根的路径上,所经过的结点序列必按其关键字降序排列。A.二叉排序树B.大顶堆C.小顶堆D.平衡二叉树

高度为h的堆中,最多有(52)个元素,最少有(53)个元素,在大根堆中,关键字最小的元素可能存放在堆的(54)地方。A.2h-1B.2h-1C.2hD.2h+1

● 对于n 个元素的关键字序列{k1,k2,…,kn}, 若将其按次序对应到一棵具有 n 个结点的完全二叉树上, 使得任意结点都不大于其孩子结点(若存在孩子结点), 则称其为小顶堆。根据以上定义, (43) 是小顶堆

对于n个元素的关键字序列{k1,k2,…,kn},若将其按次序对应到一棵具有n个结点的完全二叉树上,使得任意结点都不大于其孩子结点(若存在孩子结点),则称其为小顶堆。根据以上定义,(43)是小顶堆。A.B.C.D.

对于n个元素的关键字序列K1,K2,…,Kn,若有Ki≤K2i≤且Ki≤2i+1(i=1,2,…,[n/2],2i+1≤n),则称其为小根堆。以下关于小根堆及其元素关系的叙述中,错误的是( )。A.关键字序列K1,K2,…,Kn呈非递减排序时一定为小根堆B.小根堆中的序列K1,K2,K4…,K2j(2j≤n)一定为非递减序列C.小根堆中元素K2i与K2i+1(2i≤n,2i+1≤n)之间的大小关系不能确定D.小根堆的最后一个元素一定是序列的最大元素

中从任一结点出发到根的路径上,所经过的结点序列必按其关键字降序排列。A.二叉排序树B.大顶堆C.小顶堆D.最优二叉树

试题四(共15分)阅读下列说明和C代码,回答问题1至问题 3,将解答写在答题纸的对应栏内。【说明】堆数据结构定义如下:在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素为最小元素,则称为小顶堆。堆常用完全二叉树表示,图4-1 是一个大顶堆的例子。堆数据结构常用于优先队列中,以维护由一组元素构成的集合。对应于两类堆结构,优先队列也有最大优先队列和最小优先队列,其中最大优先队列采用大顶堆,最小优先队列采用小顶堆。以下考虑最大优先队列。假设现已建好大顶堆A,且已经实现了调整堆的函数heapify(A, n, index)。下面将C代码中需要完善的三个函数说明如下:(1)heapMaximum(A):返回大顶堆A中的最大元素。(2)heapExtractMax(A):去掉并返回大顶堆 A的最大元素,将最后一个元素“提前”到堆顶位置,并将剩余元素调整成大顶堆。(3)maxHeapInsert(A, key):把元素key插入到大顶堆 A的最后位置,再将 A调整成大顶堆。优先队列采用顺序存储方式,其存储结构定义如下:define PARENT(i) i/2typedef struct array{int *int_array; //优先队列的存储空间首地址int array_size; //优先队列的长度int capacity; //优先队列存储空间的容量} ARRAY;【C代码】(1)函数heapMaximumint heapMaximum(ARRAY *A){ return (1) ; }(2)函数heapExtractMaxint heapExtractMax(ARRAY *A){int max;max = A-int_array[0];(2) ;A-array_size --;heapify(A,A-array_size,0); //将剩余元素调整成大顶堆return max;}(3)函数maxHeapInsertint maxHeapInsert(ARRAY *A,int key){int i,*p;if (A-array_size == A-capacity) { //存储空间的容量不够时扩充空间p = (int*)realloc(A-int_array, A-capacity *2 * sizeof(int));if (!p) return -1;A-int_array = p;A-capacity = 2 * A-capacity;}A-array_size ++;i = (3) ;while (i 0 (4) ){A-int_array[i] = A-int_array[PARENT(i)];i = PARENT(i);}(5) ;return 0;}【问题 1】(10分)根据以上说明和C代码,填充C代码中的空(1)~(5)。【问题 2】(3分)根据以上C代码,函数heapMaximum、heapExtractMax和 maxHeapInsert的时间复杂度的紧致上界分别为 (6) 、 (7) 和 (8) (用O 符号表示)。【问题 3】(2分)若将元素10插入到堆A =〈15, 13, 9, 5, 12, 8, 7, 4, 0, 6, 2, 1〉中,调用 maxHeapInsert函数进行操作,则新插入的元素在堆A中第 (9) 个位置(从 1 开始)。

在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为 ( )A.iB.i+1C.n-iD.n-i+1

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

在含有n个关键字的大顶堆中,关键字最小的记录有可能存储在()位置上。A.n/2B.n/2-1C.1D.n/2+2

在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储的位置是()。

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

对于n个元素的关键字序列{K1,K2,…,Kn},当目仅当满足Ki="则称其为大顶堆。由此可知,以下选项中,( )是小顶堆。A.1,2,7,4,5,6,3B.1,5,3,2,6,4,7C.1,2,3,4,6,5,7D.1,6,4,2,5,7,3

在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在()位置上。A、n/2B、n/2-1C、1D、n/2+2

()从二叉树的任一结点出发到根的路径上,所经过的结点序列必按其关键字降序排列。A、二叉排序树B、大顶堆C、小顶堆D、平衡二叉树

当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。

在一个小根堆中,堆顶结点的值是所有结点中的(),在一个大根堆中,堆顶结点的值是所有结点中的()。

判断题当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。A对B错

单选题()从二叉树的任一结点出发到根的路径上,所经过的结点序列必按其关键字降序排列。A二叉排序树B大顶堆C小顶堆D平衡二叉树

填空题在一个小根堆中,堆顶结点的值是所有结点中的(),在一个大根堆中,堆顶结点的值是所有结点中的()。

单选题一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为()。A39,47,46,80,41,57B39,41,46,80,47,57C41,39,46,47,57,80D39,80,46,47,41,57

单选题在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在()位置上。An/2Bn/2-1C1Dn/2+2