什么是堆?将序列{56,20,23,75,29,61,36,87}调整成为堆顶元素为最大值的堆,画图把每个步骤表示出来。

什么是堆?将序列{56,20,23,75,29,61,36,87}调整成为堆顶元素为最大值的堆,画图把每个步骤表示出来。


参考答案和解析
C

相关考题:

一组记录的关键字序列为(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

对于序列{26,33,35,29,19,12,22}, (1)判断它是否是堆,若是,写出其是大顶堆还是小顶堆;若不是,把它调整为堆,写出调整的过程和调整后的序列。 (2)写出对该序列进行直接插入排序每一趟结束时的关键字状态。

判断以下序列是否是堆,若不是,把它调整为堆(要求记录交换次数最少),写出调整后的序列。 1){5,26,20,60,80,35,53,70} 2){26,33,35,29,19,12,22}

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

对于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.小根堆的最后一个元素一定是序列的最大元素

判断以下序列是否是小根堆? 如果不是,将它调整为小根堆。 (1){ 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 }(2){ 05, 23, 20, 28, 40, 38, 29, 61, 35, 76, 47, 100 }

试题四(共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个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储的位置是()。

堆排序分为两个阶段,其中第一阶段将给定的序列建成一个堆,第二阶段逐次输出堆顶元素。设给定序列{48,62,35,77,55,14,35,98},若在堆排序的第一阶段将该序列建成一个堆(大根堆),那么交换元素的次数为()。A.5B.6C.7D.8

堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则____1__是一个大顶堆结构,该堆结构用二叉树表示,其高度(或层数)为___2___。1、_____A.94,31,53,23,16,27B.94,53,31,72,16,23C.16,53,23,94,31,72D.16,31,23,94,53,72

堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则__1____是一个大顶堆结构,该堆结构用二叉树表示,其高度(或层数)为___2___。2、_____A.2B.3C.4D.5

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

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

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

当向一个最小堆插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。

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

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

当向一个大根堆插入一个具有最大值的元素时,需要逐层()调整,直到被调整到()位置为止。

简述堆取料机的堆料、取料的操作步骤是什么?

斗轮机堆料操作步骤是什么?

定点堆料方式是:堆料时只把臂架调整到适当(),在堆料过程中只需一面堆料一面调整前臂堆料高度,直至达到要求。A、角度B、范围C、高度D、距离

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

填空题当向一个大根堆插入一个具有最大值的元素时,需要逐层()调整,直到被调整到()位置为止。

问答题简述堆取料机的堆料、取料的操作步骤是什么?

单选题甲、乙、丙三堆石子共196块,先从甲堆分给另外两堆,使后两堆石子数增加一倍;再把乙堆照样分配一次;最后把丙堆也照样分配一次。结果丙堆石子数为甲堆的5/22,那么原来三堆石子中,最少的一堆石子数为()。A18B27C49D67

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

单选题一组记录的关键字序列为(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