作者Daiblo2 (要開始做專題囉)
看板TransCSI
標題Re: [問題] 簡單二元搜尋的問題
時間Fri Nov 3 11:07:25 2006
※ 引述《choufeng (Timothy)》之銘言:
: 這是我在做分類題庫時候我算出來的和解答不一樣想請教:
: 現在未排序資料 31 15 22 50 56 102 92 80 78 47 66
: 利用二元搜尋法,尋找資料22,需執行多少次才可完成任務?
: (A)2次
: (B)3次
: (C)4次
: (D)5次
: 解答是(A)
我覺得那本書作者是這樣想
第一次先比最中間(第六筆)資料所以比102小往左邊搜尋
第二次再比左邊中間(第三筆)就找到了
不過這樣解怪怪的
因為二分搜尋法一定要先排序好
所以排完後順序是
15 22 31 47 50 56 66 78 80 92 102
第一次搜尋找到跟56比
第二次搜尋找到跟31比
第三次搜尋找到跟15比
第四次搜尋找到22
不過看你程式怎麼寫有人可能只要搜尋3次就行
總而言之假如將這數列排序好最少需要3次才能搜尋到
ps:有寫錯就請多多指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.232.149
→ choufeng:我也覺得很奇怪為什麼答案是2次,但這本書錯誤的 11/07 23:28
→ choufeng:錯誤解答到是蠻多的 11/07 23:28
→ choufeng:不錯也許題意是要你沒排序下去找吧~我想 11/07 23:30
→ choufeng:不過如果是這樣子題目出的很挺差的~讓人不知道到底要不排 11/07 23:30