看板 TransCSI 關於我們 聯絡資訊
※ 引述《kenny607013 (Kenny)》之銘言: : 使用二元搜尋法(binary search),在2000筆資料中,搜尋某一特定資料,最多會比對幾次?(A)100(B)11(C)50(D)1000 : 解答是給(B)11 : 我不確定要怎麼算 : 用二元演算法算嗎? : / 它的算法是 以2為底取對數所得的值 以本題來說 就是log 2000 2 算出來的值是10.~ 所以取成11 ( 因為是最多比對幾次 ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.18.79
RJking:原理是每次取中間的資料比對,沒找到的話比中間小就找左半 04/13 22:38
RJking:部,比中間大就找右半部(假設資料由小到大排序過)直到中間 04/13 22:39
RJking:的值為要搜尋的值為止...好像原PO應該已經知道了 04/13 22:40
RJking:所以數值小的話畫BST求樹高,數值大的話用bnm51315大的作法 04/13 22:43