38 建立二元搜尋樹(Binary Search Tree),其插入順序為:15, 16, 5, 12, 3, 20, 10, 18, 23, 13, 6, 7。請問搜尋 11 需經過幾次的比較?
(A)6
(B)5
(C)4
(D)3
答案:登入後查看
統計: A(11), B(14), C(29), D(13), E(0) #3461487
統計: A(11), B(14), C(29), D(13), E(0) #3461487
詳解 (共 2 筆)
#7307497
建立二元搜尋樹(BST)時,我們遵循一個核心原則:若新數值比當前節點小,往左走;若比當前節點大,則往右走。
根據你提供的順序:15, 16, 5, 12, 3, 20, 10, 18, 23, 13, 6, 7,我們可以逐步建構出這棵樹。
1. 二元搜尋樹的結構
依照插入順序,樹的結構如下:
-
15 (根節點)
-
左子樹:5
-
左:3
-
右:12
-
左:10
-
左:6
-
右:7
-
-
-
右:13
-
-
-
右子樹:16
-
右:20
-
左:18
-
右:23
2. 搜尋 11 的比較過程
要在樹中搜尋 11,我們會從根節點開始,並紀錄每一次「與節點數值比對」的動作:
比較次數 當前節點 比較結果 下一步方向 第 1 次 15 11 < 15 往左走 第 2 次 5 11 > 5 往右走 第 3 次 12 11 < 12 往左走 第 4 次 10 11 > 10 往右走 此時,節點 10 的右方並沒有任何子節點(10 的左子節點是 6,右子節點為空)。搜尋到此結束,確認 11 不在樹中。
-
-
結論
搜尋 11 總共需要經過 4 次 比較。
-
-
0
0