首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知由n—1个关键字组成的序列(K1,K2,…,Kn—1)是大顶堆,现在增加一个关键字Kn,要求将关键字序列(K1,K2,…,Kn—1,Kn),重新调整为大顶堆。请完成以下要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
已知由n—1个关键字组成的序列(K1,K2,…,Kn—1)是大顶堆,现在增加一个关键字Kn,要求将关键字序列(K1,K2,…,Kn—1,Kn),重新调整为大顶堆。请完成以下要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
admin
2017-04-28
52
问题
已知由n—1个关键字组成的序列(K
1
,K
2
,…,K
n—1
)是大顶堆,现在增加一个关键字K
n
,要求将关键字序列(K
1
,K
2
,…,K
n—1
,K
n
),重新调整为大顶堆。请完成以下要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: #define n 100; //宏定义n常量,由用户自定义结点个数 int K[n]; //关键字序列 void heap() { int i=n/2; //找到最后一个结点的父母结点 if(n%2==1) //当n是右结点时 { if (K[i] <K[n—1] &&K fn—ll >K fnl)swap(K[n—1] ,K [i]);//swap()实现交换两个元素 if (K[i]<K[n]&&K[n—l] <K [n)) swap(K[nl ,K [i]); } else //当n是左结点 { if(K[主]<K[n])swap(K[n],K[i]); } i=1/2; while (i>0) //依次向上调整 if {K [i] <K [n—1] &&K [n—1] >K [n] ) swap (K [n—1] ,K [i]) ; if (K [j] <K [n]& &K [n—1] <K [n] ) swap (K [n] ,K [i]) ; i=1/2; } }
解析
转载请注明原文地址:https://jikaoti.com/ti/enfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
苏台德问题
下列有关曲辕犁的表述正确的是()①曲辕犁早在中国汉代即已使用了②曲辕犁在中国出现至少比欧洲早一千多年③我国古代的农业工具和农耕技术曾长期居世界领先地位④处于“蒸汽时代”的欧洲农业技术革新,滞后于同时代工业的发展
文艺复兴运动兴起的时间是()。
光绪元年七月,清政府迫于()强烈要求派一位使臣到其国,()成为中国第一个驻外公使
关于德意志宗教改革的说法不正确的是()
“瓜步之战”发生在下列哪两个政权之间?()
第一次国共合作采取了共产党员以个人身份加入国民党的“党内合作”方式,最早提出这种方式的是()
宁夏回族自治区的设立时间是()。
一战后建立的国际联盟实际起到的作用是()。
阅读史料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合
随机试题
投资形成量
A.呆小症B.侏儒症C.肢端肥大症D.尿崩症E.阿狄森病
在张某为其母亲投的意外伤害保险中,下列关于受益人的表述正确的是:根据《保险法》的规定,如果张某没有继续给其女儿的意外伤害保险合同按期缴纳保险费,保险人不得用什么方式要求投保人支付保险费?
以下对审计证据的描述中,恰当的有()。
下列关于注册会计师保持职业怀疑的表述中正确的有()。
因急需新设销售门店,甲公司委托中介代为寻找门市房,并约定中介费用为10万元。2×16年2月1日,经中介介绍,甲公司与丙公司签订了经营租赁合同。合同约定:租赁期自2×16年2月1日起3年,年租金为420万元,丙公司同意免除前两个月租金;丙公司尚未支付的物业费
我国长江流域四大云海是指()。
岗位评价中的权重系数的作用主要有()
算法的时间复杂度是指
Themulti-billion-dollarWesternpopmusicindustryisunderfire.ItisbeingblamedbytheUnitedNationsforthedramaticris
最新回复
(
0
)