阅读下列说明、流程图和算法,将应填入(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));/*大于基准数的元素排序*/
}
}
(64)
A. 动态规划法
B. 贪心法
C. 分治法
D. 回溯法
已知一个线性表(16,25,35,43,51,62,87,93),采用散列函数H(Key)=Key mod 7将元素散列到表长为9的散列表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则构造的哈希表为(57),在该散列表上进行等概率成功查找的平均查找长度为(58)(为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值称为查找算法在查找成功时的平均查找长度)。
A.
B.
C.
D.
● 已知一个线性表(16, 25, 35, 43, 51, 62, 87, 93),采用散列函数H(Key)=Key mod 7将元素散列到表长为9的散列表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则构造的哈希表为 (57) ,在该散列表上进行等概率成功查找的平均查找长度为 (58) (为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值称为查找算法在查找成功时的平均查找长度)。
A.10,16,12
B.10,12,16
C.5,8,6
D.5,6,8
● 关于线性表的顺序查找、折半查找、分块查找方法的叙述中,错误的是 (47) 。
(47)
A. 顺序查找的算法非常简单但效率较低
B. 折半查找法的平均查找长度小,查找速度快
C. 分块查找的平均长度介于顺序查找和折半查找之间
D. 分块查找只能用于顺序存贮结构,且要求表中记录是有序的
设有序序列长度为n,在最坏情况下,时间复杂度为的算法是()
A.二分法查找
B.顺序查找
C.分块查找
D.哈希查找
A.O(N2)
B.O(N2Lgn)
C.O(N3)
D.O(n3lgn)