阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。
【流程图说明】
下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。
【算法说明】
将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。
【算法】
void sort(int Array[],int L,int H){
if (L<H) {
k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/
sort((4));/*小于基准数的元素排序*/
sort((5));/*大于基准数的元素排序*/
}
}
A.起泡排序
B.初始步长为4的希尔排序
C.二路归并排序
D.以第一元素为分界元素的快速排序
高度为h的堆中,最多有(52)个元素,最少有(53)个元素,在大根堆中,关键字最小的元素可能存放在堆的(54)地方。
A.2h-1
B.2h-1
C.2h
D.2h+1
●高度为h的堆中,最多有 (52) 个元素,最少有 (53) 个元素,在大根堆中,关键字最小的元素可能存放在堆的 (54) 地方。
(52) ,(53) A.2h-1
B.2 h-1
C.2h
D.2h+1
(54) A.2 h-1≤w≤2 h-1
B.2 h≤w≤2 h+1
C.2 h+1≤w≤2 h-1
D.不确定