首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 堆数据结构定义如下:对于n个元素的关键字序列{a1,a2,…,an},当且仅当满足下列关系时称其为堆。 在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素为最小元素
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 堆数据结构定义如下:对于n个元素的关键字序列{a1,a2,…,an},当且仅当满足下列关系时称其为堆。 在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素为最小元素
admin
2014-11-13
81
问题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
堆数据结构定义如下:对于n个元素的关键字序列{a
1
,a
2
,…,a
n
},当且仅当满足下列关系时称其为堆。
在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素为最小元素,则称为小顶堆。堆常用完全二叉树表示,图15.2是一个大顶堆的例子。
堆数据结构常用于优先队列中,以维护由一组元素构成的集合。对应于两类堆结构,优先队列也有最大优先队列和最小优先队列,其中最大优先队列采用大顶堆,最小优先队列采用小顶堆。以下考虑最大优先队列。假设现己建好大顶堆A,且已经实现了调整堆的函数heapify(A,n,index)。下面将C代码中需要完善的三个函数说明如下:
(1)heapMaximum(A).返回大顶堆A中的最大元素。
(2)heapExtractMax(A):去掉并返回大顶堆A的最大元素,将最后一个元素“提前”到堆顶位置,并将剩余元素调整成大项堆。
(3)maxHeaplnsert(A,key).把元素key插入到大顶堆A的最后位置,再将A调整成大顶堆。优先队列采用顺序存储方式,其存储结构定义如下:
#definePARENT(i)i/2
typedefstructarray{
int*intarray;//优先队列的存储空间首地址
intarraysize;//优先队列的长度
intcapacity;//优先队列存储空间的容量
}ARRAY;
【C代码】
(1)函数heapMaximum
intheapMaximum(ARRAY*A)(return(1))
(2)函数heapExtractMax
intheapExtractMax(ARRAY*A)(
intmax;
max=A->int—array[0];
(2);
A一>array_size-一;
Heapify(A,A一>array—size,0);//将剩余元素调整成大顶堆
returnmax;
}
(3)函数maxHeaplnsert
intmaxHeaplnsert(ARRAY*A,intkey){
inti,*P;
if(A一>array一size==A一>capacity){//存储空间的容量不够时扩充空间
p=(int*)realloc(A一>intarray,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);
return0;
}
若将元素10插入到堆A=(15,13,9,5,12,8,7,4,0,6,2,1)中,调用maxHeaplnsert函数进行操作,则新插入的元素在堆A中第(9)个位置(从1开始)。
选项
答案
3
解析
调用maxtteaplnsert函数进行排序的过程如下。
可见,元素10在堆A的第3个位置。
转载请注明原文地址:https://www.kaotiyun.com/show/4ZDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1至问题6。[说明]某单位局域网通过ISP提供的宽带线路与Internet相连,ISP分配的公网IP地址为202.117.12.32/29,局域网中一部分计算机通过代理服务器访问Internet,而另一部分计算机不经过代理
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持在系统控制台,______用Ctrl+Alt+Delete组合键来重新引导服务器。A.允许B
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
请阅读下列SwitchA的配置信息,并在(1)~(5)处解释该语句的作用。Switch>enable(进入特权模式)Switch#configterminal(进入配置模式)Switch(config)#hostnameSwi
阅读以下Linux系统中关于IP地址和主机名转换的说明,回答问题1-3。【说明】计算机用户通常使用主机名来访问网络中的节点,而采用TCP/IP协议的网络是以IP地址来标记网络节点的,因此需要一种将主机名转换为IP地址的机制。在Linux系统
该单位的公网IP地址范围是(1)到(2):其中该单位能够使用的有效公网地址有(3)个。为保证路由器的安全,网络管理员做了如下设置,请阅读下列三段路由配置信息,并在(4)~(6)处填写该段语句的作用。1.Router(Config)#noip
请在(1)、(2)、(3)、(4)空白处填写恰当的内容。Web客户机与服务器共同遵守(1)协议,其工作过程是;Web客户端程序根据输入的(2)连接到相应的Web服务器上,并获得指定的Web文档。动态网页以(3)程序的形式在服务器端处理,并给客户端返
随机试题
关于习近平总书记对健康中国的重要论述,下列说法不准确的是:
从指导思想上看,在当代中国,坚持中国特色社会主义理论体系,就是【】
女性,55岁。巩膜及皮肤发黄9个月,伴皮肤瘙痒就诊。体检:巩膜及皮肤有明显黄染,肝脾明显肿大,考虑为原发性胆汁性肝硬化,下列哪项检查最有助于诊断
A.足阳明胃经B.足厥阴肝经C.足少阳胆经D.足太阳膀胱经E.手少阳三焦经痄腮腮部肿胀,是由于风温邪毒壅结于()
工商谈判是一项集()于一体的社会经济活动。
根据《建设工程工程量清单计价规范》,编制投标文件时,招标文件中已提供暂估价的材料价格应根据()填报。【2011年考试真题】
下列有关作业和作业成本法的说法中,错误的是()。
对已经生效的劳动法律,()不具有法律效力。
曲线的曲率及曲率的最大值分别为_______
WhatdoesMr.Stevensonthinkofhisprofession?
最新回复
(
0
)