作者: wskevin (kevin) 看板: Examination
標題: [課業] 資料結構/二分搜尋法
時間: Thu Mar 25 10:20:36 2010
1.考試科目:
資料結構
2.章節名稱or篇名(單元關鍵字):
二分搜尋法
3.目前參考用書or考古題出處:
高上講義第六回p86
4.想問的內容:
請設計一個遞迴式的二分搜尋演算法:
int binsearch(int x,int low,int high)
{
int mid;
if(low <= high)
{
mid = (mid + high)/2;
if(a[mid]==x)return mid;
else if(x else return (binsearch(x,mid+1,high));
}
}
5.想法:
講義的答案是不是有給錯,我覺得函式輸入的參數是不是少一個?
應該改為
int binsearch(int a[],int x,int low, int high)
其它遞回呼叫的地方,也都改成多一個參數?
src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
Wednesday, March 24, 2010
[課業] 資料結構/二分搜尋法
Subscribe to:
Post Comments (Atom)
推 Alexboo:1. yes, 2. 這答案沒考慮到找不到的情況 03/25 10:56
ReplyDelete→ wskevin:謝謝上樓,其實我剛剛才發現"找不到的狀況"是我漏打了~~~ 03/25 11:01
推 BeTry: mid = (mid + high)/2; 這行也有問題吧~mid尚未起始化 03/25 13:26
→ BeTry:無法確定mid會跑出什麼值來 03/25 13:27
→ ploenix:應該是mid = (low + high)/2 吧? 03/25 13:30