首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 堆数据结构定义如下: 对于n个元素的关键字序列{a1,a2,…,an},当且仅当满足下列关系时称其为堆。 在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 堆数据结构定义如下: 对于n个元素的关键字序列{a1,a2,…,an},当且仅当满足下列关系时称其为堆。 在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素
admin
2011-04-06
66
问题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
堆数据结构定义如下:
对于n个元素的关键字序列{a1,a2,…,an},当且仅当满足下列关系时称其为堆。
在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素为最小元素,则称为小顶堆。堆常用完全二叉树表示,图4—1是一个大顶堆的例子。
堆数据结构常用于优先队列中,以维护由一组元素构成的集合。对应于两类堆结构,优先队列也有最大优先队列和最小优先队列,其中最大优先队列采用大顶堆,最小优先队列采用小顶堆。以下考虑最大优先队列。
假设现已建好大顶堆A,且已经实现了调整堆的函数heapify(A,n,index)。
下面将C代码中需要完善的三个函数说明如下:
(1)heapMaximum(A):返回大顶堆A中的最大元素。
(2)heapExtractMax(A):去掉并返回大顶堆A的最大元素,将最后一个元素“提前”到堆顶位置,并将剩余元素调整成大顶堆。
(3)maxHeaplnseit(A,key):把元素key插入到大顶堆A的最后位置,再将A调整成大顶堆。
优先队列采用顺序存储方式,其存储结构定义如下:
#define PARENT(i)i/2
typedef struct array{
int *int_array;//优先队列的存储空间首地址
int array_size;能//优先队列的长度
int capacity;//优先队列存储空间的容量
}ARRAY;
【c代码】
(1)函数heapMaximum
int heapMaximum(ARRAY*A){return (1);}
(2)函数heapExtractMax
int heapExtractMax(ARRAY*A){
int max;
max=A->int_array[0];
(2);
A->array_size --;
heapify(A,A->array_size,0);//将剩余元素调整成大顶堆
return max;
}
(3)函数maxHeaplnsert
int maxHeaplnsert(ARRAY*A,int key){
int i*P;
if(A->array-size==A->capacity){//存储空间的容量不够时扩充空间
P=(int*)realloc(A->int_array,A->capacity*2*sizeof(int));
if(!P)return-1;
A->int_array=P:
A->capacity=2*A->capacity;
}
A->array_size++;
i=(3);
while(i>0&&(4)){
A->int_array
=A->int_array[PARENT(i)];
i=PARENT(i);
}
(5)
return 0;
}
根据以上C代码,函数heapMaximum,heapExtractMax和maxHeaplnsert的时间复杂度的紧致上界分别为(6)、(7)和(8)(用0符号表示)。
选项
答案
(6)O(1) (7)O(LOG(n)) (8)O(LOG(n))
解析
很明显,(6)heapMaximum函数只需要访问数组元素,所以复杂度为O(1)
(7)假设堆中的结点个数为n,则heapExtractaMax函数的复杂度主要消耗在heapify函数上,调整大顶堆的复杂度如(8)解释,该二叉树的层数,即O(logn)
(8)同上假设,maxHeaplnsert函数的复杂度主要集中在while循环里面,而while循环最多循环次数为O(logn),即为该二叉树的层数,所以该函数复杂度为0(logn)。
转载请注明原文地址:https://www.kaotiyun.com/show/9lDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
计算机系统中,CPU对主存的访问方式属于________________。
电视系统采用的颜色空间中,其亮度信号和色度信号是相分离的。下列颜色空间中,(58)颜色空间不属于电视系统的颜色空间。
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
软件测试信息流的输入包括______。①软件配置(包括软件开发文档、目标执行程序、数据结构)②开发工具(开发环境、数据库、中间件等)③测试配置(包括测试计划、测试用例、测试驱动程序等)④测试工具(为提高软件测试效率,使用测试
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
某开发小组欲开发一个大型软件系统,需求变化较小,此时最不适宜采用()过程模型。
现有四级指令流水线,分别完成取指、取数、运算、传送结果4步操作。若完成上述操作的时间依次为9ns、10ns、6ns、8ns,则流水线的操作周期应设计为(2)ns。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
下图是责任链设计模式的类图,该设计模式的目的是________。该图中,Handler和Handler之间是关联关系,Handler和ConcreteHandler之间是继承关系。
随机试题
确认环境是否已被污染的根据是()。
内环境包括
脑血栓形成患者出现运动性失语是病变损害了
吴某因涉嫌强奸罪被判处有期徒刑,刑罚执行期间,吴某父亲找到证人李某,证明案发时吴某正与李某在外地开会,吴某父亲提出申诉。法院对该案启动再审。关于原判决的执行,下列说法正确的是:()
承受横向均布荷载q和轴向拉力F的矩形截面简支梁如图所示。已知荷载q=2kN/m。F=8kN,跨长l=4m,截面尺寸b=120mm,h=180mm,则梁中的最大拉应力σt,max与最大压应力σc,max分别为()。
外国游客进入中国境内都必须出示健康证明。()
论述早期的四种迁移理论的内容。
给定资料1.2013年11月中国共产党召开的十八届三中全会,是全面深化改革的一次总动员和总部署。全会审议通过的《中共中央关于全面深化改革若干重大问题的决定》(以下简称《决定》),围绕“完善和发展中国特色社会主义制度,推进国家治理体系和治理能力现代
女心伤悲,_______。
Somepeoplesaythetraditionalcalendarof180daysnolongermeetstheneedsofAmericansociety.Theypointoutthatstudents
最新回复
(
0
)