单选题
设有关键码序列(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]的结点Ki开始,逐步把以K[n/2],K[n/2]-1,K[n/2]-2,……为根的子树排成堆,直到以K1为根的树排成堆,建堆完成后如图5所示。此题中,n=16, i=[16/2]=8,即从第8个结点开始,关键码值B在序列中的序号是3。
提交答案
关闭