首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 (1)画出在图中插入关键字为5的结点后的
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 (1)画出在图中插入关键字为5的结点后的
admin
2017-11-14
18
问题
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。
(1)画出在图中插入关键字为5的结点后的最小最大堆。
(2)画出在图中插入关键字为80的结点后的最小最大堆。
(3)编写一算法实现最小最大堆的插入功能。假定最小最大堆存放在数组中,关键字为整数。
选项
答案
此题考查的知识点是堆的算法。将插入的元素放到最后,然后调整。 (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
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].key){ //插入元素大于双亲,先与双亲交换,然后调大堆 R[j]=R[i]; j=i/4; while(j>0&&R[j]
0&&R[j]>R[i]){ R[i]=R[j];i=j;j=i/4;} R[i]=R[0]; } } }
解析
转载请注明原文地址:https://kaotiyun.com/show/U3Ri777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
世界天文史上最早实地测量子午线的记录是由谁进行的?()
关于德意志宗教改革的说法不正确的是()
巴黎和会召开的时间是()。
院系调整
中国第一条自行设计修建的铁路是在()。
一个TCP连接总是以1KB的最大段发送TCP段,发送方有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)时间内的TCP段的传输都是成功的,那么当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是
在请求页式系统中,一程序的页面走向(访问串或引用串)为2,3,4,5,2,3,6,2,3,4,5,6,设分配给该程序的存储块数为m。试分别计算m=3和m=4时,FIFO和LRU两种替换算法的缺页(页故障)数,并给出:结果说明了什么?
下图所示的CPU逻辑框图中,有两条独立的总线和两个独立的存储器。已知指令存储器IM最大容量为16384字(字长18位),数据存储器DM最大容量是65536字(字长16位)。各寄存器均有“打入”(Rin)“送出”(Rout)控制命令,但图中未标出。(1)指
在散列表中,当装填因子非常接近1时,线性探测类似于()查找。
随机试题
在近代中国社会的诸矛盾中,最主要的矛盾是()
产生副作用时的药物剂量是
咯痰自滑量多易出者属()
依据《环境影响评价技术导则一总纲》(HJ2.1—2011),环境现状调查与评价要求根据建设项目污染源及所在地区的环境特点,结合各专项评价的(),筛选出应调查的有关参数。
基本会计核算账簿管理包括()的查询及打印。
能引起经济法律责任产生的原因包括()
邓小平理论是当代中国的毛泽东思想。()
甲、乙、丙、丁四人中有2人在节假日为社区做好事,班主任把这4人找来了解情况,4人分别回答如下:甲:丙、丁两人中有人做了好事。乙:丙做了好事,我没有。丙:甲、丁中只有一人做了好事。丁:乙说的是事实。最后经调查分析,发现4人中
下列叙述中正确的是( )。
Wheredoesthisconversationtakeplace?
最新回复
(
0
)