計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)題庫下載題庫

上一題
18 假設在N個資料中要搜尋資料X,則對於二分搜尋(Binary search )演算法的描述,下列何者正確?
(A) 二分搜尋的前提是資料要先建一個二元樹
(B)二分搜尋法是每比對一次後就把搜尋範圍縮小一半,在(Log2N)次比對內就可以判斷出所要尋找的資 料X是否在資料中
(C) 二分搜尋在最好情況下,時間複雜度是0(1)
(D)二分搜尋在最壞的情況下,時間複雜度是0(log2N)-1


答案:登入後觀看
難度: 適中
最佳解!
joylemon11223 小二下 (2019/03/27)
二分搜尋法係為在以排序好的元素集合中,尋...


(內容隱藏中)
查看隱藏文字
6F
kevin huang 幼兒園下 (2019/10/27)

(B)判斷X是否在資料中的 最差情況:

在最後剩兩個數時 挑到不是X那個數(或者資料裡根本沒X)

你必須再確認 最後那個數字是否為X

所以在(Log2N)+1次比對內可以判斷出來

(D)至於時間複雜度是不管首項係數和低階項

所以最差時間複雜度還是O(log2N)

7F
109年中華電信已錄取 高三上 (2020/03/20)

Binary search

最多搜尋:O(log2(n+1)┐)  

最少搜尋:O(1)


n+1: +1的部分是要包含剩下最後一個的那次搜尋(因為資料有可能根本不在裡面,所以剩1個也要確認)

ex: 2筆資料,最多要搜尋2次


┌    ┐:取上限的意思


8F
Kari 國一下 (2020/07/06)

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

18假設在N個資料中要搜尋資料X,則對於二分搜尋(Binary search )..-阿摩線上測驗