首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
写一个HeapInsen(R,key)算法,将关键字插入到堆R中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加1的位置,插入后堆的长度加1),然后自下往上调整,使插入的关键字满足堆性质。
写一个HeapInsen(R,key)算法,将关键字插入到堆R中,并保证插入后R仍是堆。请分析算法的时间复杂度。提示:将key先插入R中已有元素的尾部(即原堆的长度加1的位置,插入后堆的长度加1),然后自下往上调整,使插入的关键字满足堆性质。
admin
2017-01-04
56
问题
写一个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
学硕统考专业
相关试题推荐
胡适与李大钊进行“问题与主义之争”的主战场是()。
中世纪战争史上有过两次君士坦丁堡陷落,分别简述其发生的时间、征战的双方、导致的历史变动。(华东师范大学2003年世界通史真题)
简述弭兵之会的背景、过程和结果。
下列选项中不是严复的著作的是()
1901年6月,发表《立宪法议》,首先提出君主立宪要求的是()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
下列制度不是战国时代开始推行的是()。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示。图中所有控制信号为1时表示有效、为0时表示无效。例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状
假设二叉树采用二叉链表存储结构存储,试设计一个算法,求出该二叉树中第一条最长的路径长度以及此路径上各结点的值。
随机试题
A.一倍以上三倍以下的罚款B.一倍以上五倍以下的罚款C.二倍以上三倍以下的罚款D.二倍以上五倍以下的罚款E.三倍以上五倍以下的罚款生产、销售劣药的,没收违法生产、销售的药品和违法所得,并处违法生产、销售药品货值金额
男性,62岁。2天前突然右眼黑矇,左侧肢体无力,约10分钟后恢复,今日又有一次类似的发作。查体未发现异常,依据临床表现,可得出以下结论。诊断为
下列账簿中,应采用数量金额式账簿的有( )。
“备案号”栏:()。“标记唛码及备注”,除了标注唛码,还应填报()。
综合国力
网络测试类型包括________。①网络可靠性测试②网络可接受性测试③网络瓶颈测试④网络容量规划测试
下列叙述中,正确的是(41)。
______whenIhavejustopenedmyblog,thetelephonewasringing.
Istoppedtoletthecarcooloffandtostudythemap.Ihadexpectedtobenearmyobjectivebynow,buteverythingstillseem
【B1】【B6】
最新回复
(
0
)