11. 在有N個節點的二元樹中作搜尋的運算,其執行時間跟何者成正比?
(A) N
(B) log N
(C) N2
(D) N log N

答案:登入後查看
統計: A(38), B(168), C(18), D(21), E(0) #2847104

詳解 (共 1 筆)

#7089389

【解題思路】

這題考的是 Binary Search Tree(二元搜尋樹) 的搜尋時間。

最重要的觀念:

平衡的二元搜尋樹(Balanced BST)

→ 搜尋時間 O(log N)

原因:
每次比較後都會把搜尋範圍「砍一半」,
就像二分搜尋(binary search)一樣。

例如:

  • N=16 → log₂1 6 = 4

  • N=1024 → log₂1 024 = 10

  • N=1,000,000 → log₂1M ≈ 20

你看到沒?
節點越多,只會增加「少量」搜尋步驟。

因此正常情況下,二元樹搜尋的時間與:

log N 成正比。

所以答案是 (B) log N

【為什麼其他選項不正確(逐一破題)】

(A) N
→ 這是「最壞情況」的時間(樹退化成鏈表),
但題目問的是一般搜尋時間 → 不選。

(B) log N
→ 正確!
平衡二元搜尋樹的搜尋效率。

(C) N²
→ 完全不可能出現,二元樹沒有平方級時間。

(D) N log N
→ 這是排序或合併類演算法常見時間,
與單次搜尋無關。

【延伸知識】

二元搜尋樹(BST)搜尋複雜度:

  • 最佳情況:O(1)(剛好是根)

  • 平均情況:O(log N)(樹大致平衡)

  • 最壞情況:O(N)(完全歪成一條鏈,如只往右插)

平衡樹(AVL、Red-Black Tree)
強制維持平衡 → 搜尋時間一定是 O(log N)

【記憶技巧】

一句話:

二元搜尋樹 = Binary Search
Binary Search = log N

【常見錯誤】

  1. 看到 N 就選 → 那是「最壞情況」

  2. 不知道樹高 = log N

  3. 把一般樹和二元搜尋樹搞混

  4. 把 N log N(排序常用)誤以為是搜尋


【一、二元樹是什麼?(最基本理解)】

二元樹(Binary Tree)是一種階層式的資料結構,每個節點 最多有 2 個子節點

  • 左子樹(Left Subtree)

  • 右子樹(Right Subtree)

只要記住:

一個節點最多兩個子節點 → 就叫二元樹。

結構長得像:

ㅤㅤ
A / \ B C / \ / \

【二、二元樹常見分類(考試重點)】

1. 一般二元樹(Binary Tree)

  • 每個節點最多 2 個子節點

  • 不保證左右的順序或大小

2. 滿二元樹(Full Binary Tree)

  • 除了葉節點外,每個節點都有 2 個子節點

3. 完全二元樹(Complete Binary Tree)

  • 每一層都滿,最後一層從左到右填滿
    (常用於堆積 heap)

4. 二元搜尋樹(Binary Search Tree, BST)

(農會電腦概論高機率考這個)

  • 左子樹 < 根 < 右子樹

  • 特別適合搜尋(平均時間 O(log N))

【三、二元樹的高度、高度的考法(重點)】

樹的高度定義:

  • 樹根為高度 1(有些教材為 0,但考試通常採「1-based」)

若樹高 h,則:

  • 最多節點數:2^h − 1

  • 最少節點數:h(如果退化成一條鏈)

農會常考題型:

「有 N 個節點,樹的高度可能是?」
你答對過那題「4 個節點,高度可能為 2、3」。

原因:

  • 最矮:log₂(N+1)

  • 最高:N(像一條直線)

【四、二元樹搜尋的考點(非常常考)】

二元搜尋樹(BST)的搜尋時間:

  • 平均:O(log N)

  • 最差:O(N)

考題會問:

在有 N 個節點的二元樹中作搜尋,其執行時間跟何者成正比?

答案:log N(考平均、或平衡情況)

但如果題目說「未經平衡、最壞情況」→ 才會變成 O(N)。

【五、二元樹的走訪(Traversal)三大必考】

記住 DFS 三種順序:

  1. 前序(Preorder)
    根 → 左 → 右
    記法:「根最急,先出手」

  2. 中序(Inorder)(BST 排序會用到)
    左 → 根 → 右
    記法:「左邊排隊,根卡中間」

  3. 後序(Postorder)
    左 → 右 → 根
    記法:「小孩先,爸爸後」

這三個很常出現在輸入輸出題。

0
0

私人筆記 (共 1 筆)

私人筆記#7462286
未解鎖
​ 情況 搜尋時間複雜度 ...
(共 61 字,隱藏中)
前往觀看
2
0