首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 编写一算法实现最小最大堆的插入功能。假定最小最
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 编写一算法实现最小最大堆的插入功能。假定最小最
admin
2019-08-15
48
问题
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。
编写一算法实现最小最大堆的插入功能。假定最小最大堆存放在数组中,关键字为整数。
选项
答案
从插入位置进行调整,调整过程由下到上。首先根据元素个数求出插入元素所在层次数,以确定其插入层是最大层还是最小层。若插入元素在最大层,则先比较插入元素是否比双亲小,如是,则先交换,之后,将小堆与祖先调堆,直到满足小堆定义或到达根结点;若插入元素不小于双亲,则调大堆,直到满足大堆定义。若插入结点在最小层,则先比较插入元素是否比双亲大,如是,则先交换,之后,将大堆与祖先调堆;若插入结点在最小层且小于双亲,则将小堆与祖先调堆,直到满足小堆定义或到达根结点。 void MinMaxHeapIns(RecType R[ ],int n){ //假设R[1..n—1]是最小最大堆,插入第n个元素,把R[1..n]调成最小最大堆 j=n;R[0]=R[j]; h=log
2
n+l: //求高度 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]; } 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/FKCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
IP数据报的报文格式如下图所示。在没有选项和填充的情况下,报头长度域的值为()。
下列选择中,()不是操作系统关心的主要问题。
某系统中n个相互独立的生产者进程为一个消费者进程提供数据,假设每个生产者提供的数据写入各不相同的缓冲区,且生产者写缓冲区的速度比消费者读缓冲区的速度快,则缓冲区个数的最优值应为()。
将要相互通信双方怎样进行建立TCP连接?在TCP报文段的首部中只有端口号而没有IP地址,当TCP将其报文段交给IP层时,IP协议怎样知道目的IP地址呢?为什么把IP地址又称为“虚拟地址”,把TCP连接说成是“虚连接”?假设在建立连接时使用2次握手而非3次握
描述滑动窗口机制及其作用。比较停止一等待协议,多帧滑动窗口和后退N帧协议,多帧滑动窗口与选择重传协议的区别。
某计算机系统的内存储器由Cache和主存构成,Cache的存取周期为45纳秒,主存的存取周期为200纳秒。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:(1)Cache的命中率是多少?(2)CPU访问内存的平均
快速排序算法中,如何选取一个界值(又称为轴元素),影响着快速排序的效率,而且界值也并不一定是被排序序列中的一个元素。例如,我们可以用被排序序列中所有元素的平均值作为界值。编写算法实现以平均值为界值的快速排序方法。
下列排序算法中不能保证每趟排序至少能将一个元素放到其最终的位置上的是()。
float型数据通常用IEEE754单精度浮点数格式表示。若编译器将float型变量x分配到一个32位浮点寄存器FRl中,且x=一8.25,则FRl的内容是____。
若浮点运算结果尾数不是规格化数,将进行结果规格化。结果规格化有左规和右规之分,下列操作中,属于结果规格化的操作是()。I.尾数左移1位,阶码加1Ⅱ.尾数左移1位,阶码减1Ⅲ.尾数右移1位,阶码加1Ⅳ.尾数右移1位,阶码减1
随机试题
国防精神的特性不包括()。
下列有关收入弹性的叙述正确的是()
Haveyoueverseenthemaninthemoon?Ifyoulook(11)______atthemoononsomenights.youcanseethefaceofthemanint
求空间曲线x=t3,y=2t,z=t2-t在点(1,2,0)处的法平面方程
单击Excel2010工作表中一个已有数据的单元格,再输入一个字符后回车,则这个新输入的字符______________。
男性,27岁,3天前搬重物后感腰痛,伴右下肢放射痛,咳嗽、喷嚏时症状加重,不能下床活动,以前无类似发作史。查体发现,腰椎生理弧度消失,活动明显受限,直腿抬高仅达40°,加强试验阳性,右足外侧外踝部皮肤感觉过敏,右跟腔反射减弱,X线平片除腰椎生理弧度消失外;
根据《会计法》第43条的规定,对于伪造、变造会计凭证、会计账簿或者编制虚假财务会计报告的行为,尚不构成犯罪的,由县级以上人民政府财政部门予以通报,并可以对单位、直接负责的主管人员和其他直接责任人员处以一定数额的罚款。其中,对直接负责的主管人员和其他直接责任
韩国的第二大城市和最大的港口城市是()。
【F1】Aleakedstudyexamininggenetically-modifiedcornrevealsthatthelab-madealternativetoorganiccropscontainsastartli
MoreattentionwaspaidtothequalityofproductioninFranceatthetimeofReneCoty.CharlesDeschanelwasthenthefinancia
最新回复
(
0
)