首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
写一个HeapInsen(R,key)算法,将关键字插入到堆尺中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加l的位置,插入后堆的长度加1),然后自下往上调整,使插入的关键字满足堆性质。
写一个HeapInsen(R,key)算法,将关键字插入到堆尺中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加l的位置,插入后堆的长度加1),然后自下往上调整,使插入的关键字满足堆性质。
admin
2019-08-15
90
问题
写一个HeapInsen(R,key)算法,将关键字插入到堆尺中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加l的位置,插入后堆的长度加1),然后自下往上调整,使插入的关键字满足堆性质。
选项
答案
算法如下: typedef struct{ KeyType key; InfoType otherinfo; }RecType; typedef struct{ RecType Rec[MaxNum]; //MaxNum是一个常量 int len; }SeqList; HeapInsert(SeqList R,KeyType key){ int i,j; R.Rec[++R.1en].key=key; //增加新值到原堆中已有元素的尾部且堆的长度加1 i=R.len/2; j=R.1en; while(i>0){ //调整为堆 if(R.Rec[i].key<R.Rec[j].key){ R.Rec[0]=R.Rec[i];R.Ree[i]=R.Rec[j];R.Rec[i]=R.Rec[0]; } j=i;i=i/2; //继续自底向上查找 } } 设该堆对应的树高为h,则满足h≤log
2
R.1en,调整是自底向上查找,最多查找到树根,所以时间复杂度为O(log
2
R.1en)。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/nKCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
电子计算机的发展经过了四代,①电子数值积分计算机(ENIAC);②集成电路计算机;③大规模集成电路计算机;④晶体管计算机;⑤人工智能计算机,其先后顺序是()。
明清时期专制主义空前加强,据此回答问题:以下关于明朝“废行省、设三司”的措施评价最正确的是()
唐玄宗前期设置的藩镇不仅后来使唐朝走向衰落,而且对后来的历史产生了严重影响。据此回答问题后晋一个节度使说:“天子宁有种耶?兵强马壮者为之!”这说明五代十国分裂局面的实质是()
从“鲁尔危机”的发生到《道威斯计划》的实施,西方国际关系变化对当时有关国家的影响是()。①美国势力进一步向欧洲渗透②英国达到了限制法国、保持均势的目的③德国获得重建经济的有利时机④法国扩充实力争霸欧洲的计划遭
宗教问题已成为某些国家和地区之间冲突的主要原因。信仰“真主”安拉,以《古兰经》为经典的宗教是()
“两个凡是”
什么是域名解析?域名解析中采取了什么措施提高效率?对同一个域名向DNS服务器发出多次的DNS请求报文后,得到IP地址都不一样,可能吗?为什么?
某DRAM芯片内部存储元排列成1024.×1024的矩阵,且已知其存取周期为0.1μs,最大刷新间隔为2ms。当采用异步刷新方式时,死时间()。
下列选项中,描述浮点数操作速度指标的是____。
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码:intflagL22;/*flag数组,初始化为FALSE*/
随机试题
下列选项中,关于莫里哀说法错误的是()
医学模式转变对医师提出的根本性医德要求是
A.主动转运B.简单扩散C.易化扩散D.膜动转运E.滤过在细胞膜载体的帮助下,由膜的高浓度一侧向低浓度一侧转运,不消耗能量的药物转运方式是()。
肾功能不全病人,可使用正常剂量或略减的药物是()。
[2006年第57题,2005年第57题]建筑地面工程中水泥类整体面层施工后,养护时间不应小于:
质量为1.00kg,温度为300K的氧气,分别经历定容、定压和绝热三个过程,使其温度升高至400K,则其内能改变为()。
传声器的作用是将()转换成()。
关于地球公转的正确叙述是:
加下划线字注音全部正确的一项是()。
发奋:成功()
最新回复
(
0
)