首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
写一个HeapInsen(R,key)算法,将关键字插入到堆R中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加1的位置,插入后堆的长度加1),然后自下往上调整,使插入的关键字满足堆性质。
写一个HeapInsen(R,key)算法,将关键字插入到堆R中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加1的位置,插入后堆的长度加1),然后自下往上调整,使插入的关键字满足堆性质。
admin
2017-01-04
44
问题
写一个HeapInsen(R,key)算法,将关键字插入到堆R中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加1的位置,插入后堆的长度加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.len].key=key; //增加新值到原堆中已有元素的尾部且堆的长度加1 i=R.1en/2;j=R.len; while(i>0){ //调整为堆 if(R.Rec[i].key<R.Rec[j].key){ R.Rec[0]=R.Rec[i];R.Rec[i]=R.Rec[j];R.Rec[i]=R.Rec[0]; } j=i;i=i/2; //继续自底向上查找 } } 设该堆对应的树高为h,则满足h≤log
2
R.len,调整是自底向上查找,最多查找到树根,所以时间复杂度为O(log
2
R.len)。
解析
转载请注明原文地址:https://kaotiyun.com/show/bQRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简要分析英、法20世纪30年代绥靖法西斯国家的表现及影响。
奥斯曼国家的第一个苏丹是()。
武昌起义后,全国革命形势发展的同时也潜伏着失败的危机,这主要是由于()。
文艺复兴运动兴起的时间是()。
在周初分封中,分封同姓诸侯国、异姓诸侯国,也分封圣王之后,下面属于圣王之后的封国为()。
下列制度不是战国时代开始推行的是()。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
序列的“中值记录”指的是:如果将此序列排序后,它是第n/2个记录。试写出一个求中值记录的算法。
在二叉树的顺序存储中,每个结点的存储位置与其父结点、左右子树结点的位置都存在一个简单的映射关系,因此可与三叉链表对应。若某二叉树共有n个结点,采用三叉链表存储时,每个结点的数据域需要d个字节,每个指针域占用4个字节,若采用顺序存储,最后一个结点下标为k(起
给定集合S={0,1,2,3,4),以及优先关系R={0<1,1<4,1<2,2<3,2<4,4<0)。(1)R是偏序关系吗?(2)证明你的结论。
随机试题
简述蛋白质的物理性质。
企业承担社会责任的必然性:
患者男性,65岁。吸烟史近40年,患慢性支气管炎近20年,经常咳嗽、咳痰;近几年时常觉胸闷、呼吸困难。入院查体:桶状胸,胸廓呼吸运动减弱;叩诊呈过清音,心浊音界缩小,肝浊音界下降;听诊呼吸音减弱,呼气延长。该患者可能患
蛛网膜下腔阻滞麻醉中最常见的并发症是
对艾滋病患者进行抗病毒治疗的指征是
心室肌细胞动作电位3期复极是由于
()是指对各种不同的货物在不同的航线上分别制定的运价。
董卓之乱
张校长准备对该校老师的工作满意度进行研究,他在会上布置了研究过程,要求每天下午两位老师与其进行这方面的谈话。经过一个月的时间,张校长基本上摸清了人家的思想动态。(1)从本案例中可以看到,张校长使用的是什么研究方法?(2)这种研究方法的持点是什么?(3)这
借助专家评审等技术,对项目风险的概率和影响程度进行风险级别划分属于()过程的技术。
最新回复
(
0
)