首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 (1)画出在图中插入关键字为5的结点后的
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 (1)画出在图中插入关键字为5的结点后的
admin
2017-01-04
49
问题
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。
(1)画出在图中插入关键字为5的结点后的最小最大堆。
(2)画出在图中插入关键字为80的结点后的最小最大堆。
(3)编写一算法实现最小最大堆的插入功能。假定最小最大堆存放在数组中,关键字为整数。
选项
答案
此题考查的知识点是堆的算法。将插入的元素放到最后,然后调整,方法同第13题。 (1)加入关键字值为5的结点后,最小最大堆如下图。 [*] (2)加入关键字值为80的结点后,最小最大堆如下图。 [*] (3)从插入位置进行调整,调整过程由下到上。首先根据元素个数求出插入元素所在层次数,以确定其插入层是最大层还是最小层。若插入元素在最大层,则先比较插入元素是否比双亲小,如是,则先交换,之后,将小堆与祖先调堆,直到满足小堆定义或到达根结点:若插入元素不小于双亲,则调大堆,直到满足大堆定义。若插入结点在最小层,则先比较插入元素是否比双亲大,如是,则先交换,之后,将大堆与祖先调堆;若插入结点在最小层且小于双亲,则将小堆与祖先调堆,直到满足小堆定义或到达根结点。 void MinMaxHeapIns(RecType R[],int n){ //假设R[1..n一1]是最小最大堆,插入第n个元素,把R[1..n]调成最小最大堆 j=n;R[0]=R[j]; h=log
2
n+1; //求高度 if(h%2==0){ //插入元素在偶数层,是最大层 i=n/2; if(R[0].key<R[i].key){ //插入元素小于双亲,先与双亲交换,然后调小堆 R[j]=R[i]; j=i/4; while(j>0&&R[j]>R[i]){ R[i]=R[j];i=j;j=i/4;} //调小堆 R[i]=R[0]i } else{ //插入元素大于双亲,调大堆 i=n;j=i/4; while(j>0&&R[j]<R[i]){R[i]=R[1];i=j;j=i/4;} R[i]=R[0]; } } else{ //插入元素在奇数层,是最小层 i=n/2: if(R[0].key>R[i].key){ //插入元素大于双亲,先与双亲交换,然后调大堆 R[j]=R[i]; j=i/4; while(j>0&&R[j]<R[i]){ R[i]:R[j]=i:j;j=i/4; } //调大堆 R[i]=R[0]; } else{ //插入元素小于双亲,调小堆 i=n;j=i/4; while(j>0&&R[j]>R[i]){ R[i]=R[j];i=j;j=i/4;} R[i]=R[0]; } } }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/9QRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试述欧美盟国对德、日法西斯处置的异同,并分析这种现象的原因及影响。
《关于建国以来党的若干历史问题的决议》
《道威斯计划》的实施所产生的直接结果是()。
“两个凡是”
在巴黎和会上,法国要求严厉制裁德国的目的是()。
一台主机申请了一个到www.ab@C@edu.cn的连接,为了获取服务器的IP地址,首先要进行DNS查询,下图为本次查询的过程,请回答如下问题:(1)由个人主机发送给本地DNS服务器的数据是采用什么传输层协议发送的?利用了哪个端口?(2
下列排序算法中,时间复杂度为O(nlogn)且占用额外空间最少的是()。
快速排序算法中,如何选取一个界值(又称为轴元素),影响着快速排序的效率,而且界值也并不一定是被排序序列中的一个元素。例如,我们可以用被排序序列中所有元素的平均值作为界值。编写算法实现以平均值为界值的快速排序方法。
某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节。请回答下列问题。若使用二级页表的分页存储管理方式,逻辑地址结构为:设逻辑地址为LA,请分别给出其对应的页日录号和页表索引的表达式。
假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading”和“being”的存储映像如下图所示。设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为,请设计一个时间上尽可能高效的算
随机试题
“张三影”指宋代词人()
下列国家中,国家元首(总统、主席、君主等)是虚位,不拥有实质意义的决策权的是()
近代中国第一个资产阶级革命团体是
下列哪项是我国肝性脑病最常见的病因
某木材厂将自产木材委托加工成实木地板准备对外销售。后来将其中一部分用于本企业在建丁程,增值税的正确处理是( )。
下列各项审计程序中,可以为营业收入发生认定提供审计证据的有()。
上课前,语文老师故意把一个扫把横倒在教室的门口。第一个学生过去了,第二个、第三个……已经过去54个学生了,只剩一位平时表现不尽如人意的同学没进来了。坐下来的同学终于注意到那把扫帚了,而最后一个同学也终于走过来了,“万众瞩目”下,这位同学也走过去了,但是一段
【2015年湖北十堰.填空】第八次基础教育课程改革,它将实现我国中小学课程从学科本位、知识本位,向关注__________的历史性转变。
(2011年真题)依据《物权法》的规定,下列财产中,可以抵押的是
A、Becauseshecan’tfindanysuitablebooksforheressay.B、Becauseshedoesn’tknowhowtousethelibrarysearchengine.C、B
最新回复
(
0
)