首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是( )。
设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是( )。
admin
2020-11-27
103
问题
设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是( )。
选项
A、1
B、3
C、7
D、9
答案
B
解析
建堆的算法:首先将要排序的所有关键码放到一棵完全二叉树的各个结点中(这时的二叉树不具备堆的特性),然后,从i=[n/2](n为结点的个数)的结点K
i
开始,逐步把以K
[n/2]
,K
[n/2]-1
,K
[n/2]-2
,…为根的子树排成堆,直到以K
1
为根的树排成堆,就完成了建堆过程。此题中,n=16,i=[16/2]=8,即从第8个结点开始,建堆完成后如下图:
所以经过初始建堆后关键码值B在序列中的序号是3。
转载请注明原文地址:https://kaotiyun.com/show/3Y3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面属于定义阶段任务的是
若有以下程序intf(inta[],intn){if(n>1){intt;t=f(a,n-1);returnt>a[n-1]?t:a[n-1];}elsereturna
要求通过while循环不惭读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
有以下程序#includemain(){inty=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是
若fp已定义为指向某文件的指针,且没有读到该文件的末尾,则C语言函数feof(fp)的函数返回值是
有以下程序#includeintfun(char*s){char*p=s;while(*p!=0)p++;return(p-s);}main(){printf("%d\n",fun("goodbey!")
有以下函数intfun(char*s){char*t=s;while(*t++);return(t-s);}该函数的功能是
下面对软件测试和软件调试有关概念叙述错误的是()。
随机试题
口咽通气管仅限______和______的昏迷病人使用。
音乐作品:《梁祝》
A.胆汁质B.抑郁质C.多血质D.黏液质E.少血质
凡()的工程,在工程开工前都要申请领取施工许可证。
下列项目中,属于合伙人通知退伙的是( )。
期货投资者保障基金的筹集、管理和使用的具体办法,由国务院期货监督管理机构会同国务院审计部门制定。( )
已知某投资项目的有关资料如下:要求:计算该项目的预期收益率、标准差和标准离差率。
PresidentBushsaidtheUnitedStateswillmakesureSomaliadoesnotbecomeasafehavenfor
PurposesofArtI.AvehicleforreligiousritualThe【T1】_____:primarypatronofartists【T1】______Traditionalsocietie
Allofthetechnologicaladvancesthathaveincreasedthequalityofmusichavenotchangedthefundamentalimpactofrecordedm
最新回复
(
0
)