18 假設在N個資料中要搜尋資料X,則對於二分搜尋(Binary search )演算法的描述,下列何者正確?
(A) 二分搜尋的前提是資料要先建一個二元樹
(B)二分搜尋法是每比對一次後就把搜尋範圍縮小一半,在(Log2N)次比對內就可以判斷出所要尋找的資 料X是否在資料中
(C) 二分搜尋在最好情況下,時間複雜度是0(1)
(D)二分搜尋在最壞的情況下,時間複雜度是0(log2N)-1
答案:登入後查看
統計: A(46), B(254), C(447), D(37), E(0) #1916505
統計: A(46), B(254), C(447), D(37), E(0) #1916505
詳解 (共 8 筆)
#4119761
B是錯在 "⌈log (N+1)⌉" 或者是 "⌊(logN)⌋+1" 次內才可以判斷出所要尋找的資料X是否在資料中,所以選項少算 1 次
舉個例子就知道
⌈log (3+1)⌉ = ⌊(log3)⌋+1 = 2
O O O <- 三筆資料最多找 2 次
↑↑
1 2
⌈log (4+1)⌉ = ⌊(log4)⌋+1 = 3
O O O O <- 四筆資料最多找 3 次
↑↑↑
1 2 3
4
0
#3456680
B哪裡錯?? 運氣好1次找到也是在Log2N內阿
0
1
#3454400
B是平均,D最久就是N
C最短一次
0
1