首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 堆数据结构定义如下。 对于n个元素的关键字序列{a1,a2……,an},当且仅当满足下列关系时称其为堆: 在一个堆中,若堆项元素为最大元素,
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 堆数据结构定义如下。 对于n个元素的关键字序列{a1,a2……,an},当且仅当满足下列关系时称其为堆: 在一个堆中,若堆项元素为最大元素,
admin
2018-07-25
89
问题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
堆数据结构定义如下。
对于n个元素的关键字序列{a
1
,a
2
……,a
n
},当且仅当满足下列关系时称其为堆:
在一个堆中,若堆项元素为最大元素,则称为大顶堆;若堆顶元素为最小元素,则称为小项堆。堆常用完全二叉树表示,图8.11是一个大顶堆的例子。
堆数据结构常用于优先队列中,以维护由一组元素构成的集合。对应于两类堆结构,优先队列也有最大优先队列和最小优先队列,其中最大优先队列采用大顶堆,最小优先队列采用小顶堆。以下考虑最大优先队列。
假设现已建好大项堆A,且已经实现了调整堆的函数heapify(A,n,index)。
下面将C代码中需要完善的3个函数说明如下。
(1)heapMaximum(A):返回大顶堆A中的最大元素。
(2)heapExtractMax(A):去掉并返回大顶堆A的最大元素,将最后一个元素“提前”到堆顶位置,并将剩余元素调整成大顶堆。
(3)maxHeapInsert(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)函数maxHeapInsert
int maxHeapInsert(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;
}
若将元素10插入到堆A=(15,13,9,5,12,8,7,4,0,6,2,1)中,调用maxHeapInsert函数进行操作,则新插入的元素在堆A中第_____(9)个位置(从1开始)。
选项
答案
(9)3
解析
调用maxHeapInsert函数进行排序的过程如图8.12所示。
可见,元素10在堆A中第3个位置。
转载请注明原文地址:https://www.kaotiyun.com/show/67DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1、问题2和问题3,将解答填入对应栏内。[说明]在因特网的发展过程中,WWW(WorldWideWeb)和域名服务系统(DNS)两项技术起了重大的推动作用,在域名服务系统(DNS)出现之前,所有的因特网主机名都存储
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。某商务公司在全国各城市共有15个分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。每个
请用100字以内的文字说明该网管软件项目采用快速原型开发方法的优缺点。请指出图7-15可能存在的关键路径是什么?(请用英文字母序号列出)
ADSL技术可以充分利用现有铜线网络,只要在用户线路两端加装ADSL设备即可为用户提供服务。请从以下术语选择适当的编号,将图5-9所示的拓扑结构中(1)~(4)空缺处的名称填写完整。【供选择的答案】A.程控交换机B.二层交换机
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
请说出图9-1的拓扑结构名称与特点。当增加了[问题3]中的设备后(此设备设置正确,且PC3与PC2是连通的,PCI与PC3也是连通的,经测试PCI与PC2物理连接正常),但PCIPing不通PC2。请问是什么原因?
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。目前在使用ADSL访问Internet时,要不要收取电话费?
结合图7-18所示的网络拓扑结构图,将以下路由器R1配置信息中(1)~(9)空缺处的内容填写完整,实现路由器R1的正确配置。Router>en(进入特权模式)Router#
阅读以下关于FTTC宽带接入Internet的技术说明,根据要求回答问题1至问题5。【说明】光纤接入网(OpticalAccessNetwork,OAN)是以光纤为传输媒体,并利用光波作为光载波传送信号的接入网。FTTC+LAN是实现居民宽带
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
随机试题
简述按照法律特征的不同,国际货运代理人所包括的类型。
新产品的采用过程主要有哪几个阶段?
在抗体产生的一般规律中,初次应答产生最早,具有早期诊断价值的Ig是
补体可对免疫应答的各个环节发挥调节作用,叙述错误的是
由成釉器星网层变性发展而来的颌骨囊肿是
治疗痛风痰瘀痹阻证,应首选
关于联合体投标,下列说法正确的有()。
我国某商业银行2001年12月31日资产负债表中有关内容如下,根据资料回答问题。单位:万元流动资产19800流动负债20370短期贷款13220
中国人民解放军战区分为东部战区、南部战区、西部战区、北部战区、中部战区。()
结果犯是指由危害行为和危害结果共同构成犯罪客观方面的犯罪。结果犯的既遂,不仅要求有犯罪行为,而且必须发生法定的犯罪结果,缺少危害结果,犯罪的客观方面就不具有完整性或者说犯罪客观方面的要件就不齐备。结果犯的结果,是指有形的、可以计量的具体危害结果,是与犯罪的
最新回复
(
0
)