课课家小编为大家整理了2017下半年程序员考试下午真题,以下为第四部分。
2017年下半年程序员考试下午真题(4)
试题四(共 15 分〉
阅读以下说明、 C函数和问题,回答问题1和问题2将解答填入答题纸的对应栏内。
【说明】
当数组中的元素已经排列有序时,可以采用折半查找(二分查找)法查找一个元素。下面的函数 biSearch(int r[],int low,int high,int key)用非递归方式在数组r中进行二分查找,函数 biSearch_rec(int r[],int low,int high,int key)采用递归方式在数组r中进行二分查找,函数的返回值都为所找到元素的下标;若找不到,则返回-1.
【函数 1】
int biSearch(int r[],int low,int high,int key)
//r[low..high] 中的元素按非递减顺序排列
//用二分查找法在数组r中查找与key相同的元素
//若找到则返回该元素在数组r的下标,否则返回-1
int mid;
while(____){
mid = (low+high)/2 ;
if (key ==r[mid])
Return mid;
else if (key
else
____________;
}/*whi1e*/
retum-1;
}/*biSearch*/
【问题1 】(12分)
请填充 C 函数1和C函中2中的空缺,将解答填入答题纸的对应栏。
【问题2 】(3分)
若有序数组中有n个元素,采用二分查找法查找一个元素时,最多与—个数组元素进行比较,即可确定查找结果。
(7)备选答案
A. [log2(n+1)]
B. [n/2]
C. n-1
D. n
从下4列的 2 道试题(试题五至试题六)中任选1道解答。请在答题纸上的指定位置处将所选择试题的题号框涂黑。若多涂或者未涂题号框,则对题号最小的一道试题进行评分。
>>>>返回目录:2017下半年程序员考试下午真题(汇总)
想要报考2018年软考的朋友现在就可以开始备考了,可以报名课课家软考学院,课课家软考学院含有软考各科目赠送考试:辅导教材、历年真题、考前冲剌资料、在线模拟测试题库,还有老师专属答疑指导等,帮助大家顺利通过考试。
>>>>>>点击进入软考报名专题
¥399.00
¥299.00
¥399.00
¥699.00