摘要:希賽網為大家整理了2017下半年程序員考試下午真題,以下為第一部分,2017年下半年程序員考試下午真題4
希賽網為大家整理了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下半年程序員考試下午真題(匯總)
>>>>進入估分:2017下半年軟考分數早知道,在線估分+真題解析
>>>>點擊查看:2017下半年程序員下午真題答案和解析
軟考備考資料免費領取
去領取