Google Search Box

自訂搜尋

Wednesday, March 24, 2010

[課業] 資料結構/二分搜尋法

作者: 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)
其它遞回呼叫的地方,也都改成多一個參數?










1 comment:

  1. 推 Alexboo:1. yes, 2. 這答案沒考慮到找不到的情況 03/25 10:56
    → 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

    ReplyDelete