首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知由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-11-20
30
问题
已知由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[n-1]>K[n])swap(K[n-i],K[i]);//swap()实现交换两个元素 if(K[i]<K[n]&&K[n-1]<K[n]}swap(K(n],K[i]); } else //当n是左结点 { if(K[i]<K[n])swap(K[n],K[i]); } i=i/2; while(i>0) //依次向上调整 { if(K[i]<K[n-1]&&K[n-1]>K[n])swap(K[n-1],K[i]); if(K[i]<K[n]&&K[n-1]<K[n])swap(K[n],K[i]); i=i/2; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/YARi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
永嘉之乱后,北方的政局是()。①西晋短暂统一的终结②北方长期处于多个政权分立的战乱状态③氐族人建立的前秦和鲜卑人建立的北魏曾统一过北方④民族交往和民族斗争交织在一起⑤民族大融合是历史发展的主流⑥民族大
1946年5月,中共中央发布的实现“耕者有其田”政策的重要文件是()。
第一国际成立前,各国无产阶级强烈要求加强国际团结的直接原因是()。
加尔文教传播到法国后,其信仰者被称为()。
印度列国时代出现了16个国家,其中大部分是王国,只有少数的共和国。下列属于共和国的是()。
到1869年为止,人类已发现了多少种化学元素()。
已知一组关键字为(26,36,41,38,44,15,68,12,6,51,25),用链地址法解决冲突。假设装填因子a=0.75,散列函数的形式为H(K)=KMODP,回答下列问题:(1)构造散列函数。(2)画出散列表。(
一个使用选择性重传协议的数据链路层协议,如果采用了5位的帧序列号,那么可以选用的最大窗口是()。
某机的主要部件如下图所示。(1)请补充各部件间的主要连接线,并注明数据流动方向。(2)拟出指令SUB(R1),一(R2)的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行减法操作,源操作数地址和目的操作数地址分别在
随机试题
女子在怀孕中期应增大健身的运动负荷、运动强度和运动时间。()
食物链的营养级数目通常在10个以上。()
A.三联吡啶钌B.碱性磷酸酶C.三丙胺D.鲁米诺E.吖啶酯电化学发光免疫分析采用什么物质标记抗体(抗原)
具有解表清里功用的方剂是
计算土地经济系数不包括()。
烟火药制造过程中,容易发生爆炸事故。在粉碎和筛选原料环节,应坚持做到“三固定”,即:固定工房、固定设备以及()。
生产经营单位生产、经营,储存、使用危险物品,未建立专门安全管理制度,未采取可靠的安全措施或者不接受有关主管部门依法实施的监督管理的,则应对其采取如下处罚( )。
“蝴蝶效应”由气象学家洛伦兹于1963年提出,其大意是:南美洲亚马孙河流域热带雨林中的一只蝴蝶,偶尔煽动几下翅膀,可能在两周后引起美国德克萨斯的一场龙卷风。根据材料回答问题:“蝴蝶效应”表明()。
阅读下列资料,回答问题。2012年对东盟的货物出口额占总出口额的比重为:
A、 B、 C、 C
最新回复
(
0
)