首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 编写一算法实现最小最大堆的插入功能。假定最小最
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。 编写一算法实现最小最大堆的插入功能。假定最小最
admin
2019-08-01
79
问题
最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。如图所示为一最小最大堆。
编写一算法实现最小最大堆的插入功能。假定最小最大堆存放在数组中,关键字为整数。
选项
答案
从插入位置进行调整,调整过程由下到上。首先根据元素个数求出插入元素所在层次数,以确定其插入层是最大层还是最小层。若插入元素在最大层,则先比较插入元素是否比双亲小,如是,则先交换,之后,将小堆与祖先调堆,直到满足小堆定义或到达根结点;若插入元素不小于双亲,则调大堆,直到满足大堆定义。若插入结点在最小层,则先比较插入元素是否比双亲大,如是,则先交换,之后,将大堆与祖先调堆;若插入结点在最小层且小于双亲,则将小堆与祖先调堆,直到满足小堆定义或到达根结点。 void MinMaxHeaplns(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
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/w3Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述隋唐科举制的内容和意义。
科学社会主义产生的直接思想来源是()。
租庸调制对农业生产的最大作用是()。
洪武八年,朱元璋仿照元朝的办法,印造(),命令民间通行,形成了钱、钞并用的货币制度
分析法兰西第二帝国的历史地位。
严复翻译的《天演论》一书的出版时间是()。
在不同网络节点的对等层之间通信需要的是()。
试比较单播、组播和广播三种传输方式的区别。
IPv6是为了解决什么问题而提出的?它与IPv4相比有哪些优势?说说它们之间的区别。
试比较脱机I/O和联机I/O。
随机试题
[背景资料]2014年×月×日某市某桥梁工程在拆除引桥支架施工过程中,发生一起高处坠落事故,造成一人死亡。事故发生经过如下:某市大桥在主体工程基本完成以后,开始进行南引桥下部板梁支架的拆除工作。当日下午3时,该项目部领导安排部分作业人员去进行拆除
普萘洛尔的特点有
某公司从银行获得贷款200万元,年利率10%,期限5年,还款方式为等额本金法,则第二年应还款( )万元。
服务器必须具有出色的可靠性,必须具备可用性和可扩充性。()
下列关于企业投资种类的说法中,正确的有()。
按照鲁宾的观点,爱情和喜欢的区别主要包括()。
德育的价值属性和对平行教育子系统的作用是德育的_________功能的两大含义。()
U.S.employersareanticipatingariseinworkplacediscriminationclaimsbasedontheirownhiringpolicies.Employmentlawfir
有如下程序:#include#includeusingnsmespacestd;classPerson{public:Person(stringn):name(n){cout
Lookatthetenstatementsforthispart.Youwillhearapassageabout"CreditCardsHistory".Youwilllistentoittwice
最新回复
(
0
)