Re: [問題] 簡單二元搜尋的問題
※ 引述《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
→
11/07 23:28, , 1F
11/07 23:28, 1F
→
11/07 23:28, , 2F
11/07 23:28, 2F
→
11/07 23:30, , 3F
11/07 23:30, 3F
→
11/07 23:30, , 4F
11/07 23:30, 4F