阿摩線上測驗 登入

申論題資訊

試卷:106年 - 106 一般警察特種考試_二等_刑事警察人員犯罪分析組:計算機概論(包括計算機結構、資料結構、程式設計)#62390
科目:計算機概論
年份:106年
排序:0

題組內容

三、給予依序如下資料 40, 20, 60, 10, 30, 50, 70:

申論題內容

⑴將此串資料建成二元搜尋樹(Binary Search Tree)。(10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
建立二元搜尋樹(Binary Search Tree, BST)的過程是逐個將給定的資料插入到樹中,保證對於樹中的任意節點 X,其左子樹中的所有節點的值都小於 X 的值,而其右子樹中的所有節點的值都大於 X 的值。我們按照給定的資料順序來建樹:40, 20, 60, 10, 30, 50, 70。
插入 40:由於樹是空的,40 成為根節點。
插入 20:20 小於 40,所以 20 成為 40 的左子節點。
插入 60:60 大於 40,所以 60 成為 40 的右子節點。
插入 10:10 小於 40,向左走;10 小於 20,向左走,且由於 20 沒有左子節點,10 成為 20 的左子節點。
插入 30:30 小於 40,向左走;30 大於 20,向右走,且由於 20 沒有右子節點,30 成為 20 的右子節點。
插入 50:50 大於 40,向右走;50 小於 60,向左走,且由於 60 沒有左子節點,50 成為 60 的左子節點。
插入 70:70 大於 40,向右走;70 大於 60,向右走,且由於 60 沒有右子節點,70 成為 60 的右子節點。
因此,建立的二元搜尋樹如下所示:
markdown
Copy code
    40
   /  \
 20    60
/ \    / \
10 30 50  70
這個二元搜尋樹保持了BST的所有特性:每個節點的左子樹只包含小於節點本身的值,每個節點的右子樹只包含大於節點本身的值。