问答题

请写一非递归算法,对于任意给定的k值,该算法在长度为 n、且元素按值严格递增排列的顺序表A[1..n]中采用折半查找法查找值不大于k的最大元素,若表中存在这样的元素,则算法返回该元素在表中的位置,否则,算法返回信息0。(假设表中元素分别为一个正整数) 
例如,对于顺序表A[1..10]=(2, 4, 6, 8, 10, 12, 14, 16, 18, 20), 
当k=8时,满足条件的元素为8,返回位置4; 
当k=13时,满足条件的元素为12,返回位置6; 
当k=1时,无满足条件的元素,返回信息0。


您可能感兴趣的试卷

你可能感兴趣的试题

8.单项选择题下面给出的四种排序法中,排序过程中元素之间的比较次数与排序法无关的是()。

A.选择排序法
B.插入排序法
C.快速排序法
D.堆积排序法

9.单项选择题与直接插入排序法比较,折半插入排序法减少了排序过程中的()。

A.排序总的趟数
B.元素的移动次数
C.元素之间的比较次数
D.使用的辅助空间的数量

10.单项选择题散列技术中的散列冲突是指()。

A.两个元素具有相同的序号
B.两个元素的键值不同,而其他属性相同
C.元素过多
D.不同键值的元素对应着相同的存储地址