Re: [問題] 簡單二元搜尋的問題

看板TransCSI作者 (要開始做專題囉)時間19年前 (2006/11/03 10:43), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
※ 引述《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
我也覺得很奇怪為什麼答案是2次,但這本書錯誤的
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
文章代碼(AID): #15Igp5vs (TransCSI)