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

詳解 (共 2 筆)

#6723095
1. 題目解析 題目要求我們建立一個二...
(共 964 字,隱藏中)
前往觀看
3
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