33 給定一串整數{130,120,100,90,80,60,50,40,30,20,10},若使用二元搜尋法,則需要做幾次比較(comparisons)才能找到 30?
(A) 9
(B) 4
(C) 3
(D) 2
答案:登入後查看
統計: A(62), B(117), C(119), D(347), E(0) #2331662
統計: A(62), B(117), C(119), D(347), E(0) #2331662
詳解 (共 3 筆)
#4514251
二元搜索的資料需排序好,取中間值與目標比較大小,把資料對半取捨。
題目已排序好(大->小),可進行二元搜索,
中間值=60,比目標值30大,捨左半資料,對右半再做一次搜索 .......第1次比較
中間值=30,同目標值,完成搜索。 .....第2次比較
答案D
9
1
#5157505
floor((11+0)/2) = 6 , 60
floor((11+6)/2) = 9 , 30
2
1