免費開始練習
高考申論題 114年 [資訊處理] 資料結構

第 一 題

📖 題組:
二元搜尋樹(binary search tree)是一種常見的資料結構。
📝 此題為申論題,共 4 小題

小題 (一)

請將 50, 30, 70, 20, 40, 60, 80 依序插入一個二元搜尋樹,然後再從該二元樹刪除 50,並畫出每個數字放入或刪除後的二元搜尋樹。(10 分)

思路引導 VIP

掌握二元搜尋樹(BST)的兩大原則:插入時遵循「左小右大」;刪除度數為 2 的節點時,須找「左子樹的最大值(前驅)」或「右子樹的最小值(後繼)」進行替換。繪圖時須一步一步呈現,並在刪除步驟中明確寫出替換依據以獲取高分。

🤖
AI 詳解
AI 專屬家教

【解題思路】運用二元搜尋樹(BST)的特性進行插入與刪除:插入時遵循「小於父節點往左,大於父節點往右」,刪除具備兩個子節點的目標時,以其左子樹的最大值(前驅)或右子樹的最小值(後繼)取代之。 【詳解】 二元搜尋樹插入規則:新節點若大於當前節點則往右,若小於當前節點則往左。

小題 (二)

以下陣列儲存了一個二元搜尋樹,根節點為 A(1),若針對該二元樹刪除 40,請顯示該陣列的變化。(5 分)
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
A(i) 40 30 70 10 -- 50 90 -- 20 -- -- -- 60 80 -- -- --

思路引導 VIP

首先根據陣列索引規則(左子節點為 2i,右子節點為 2i+1)還原出二元搜尋樹的結構。接著應用二元搜尋樹的刪除規則,刪除具有兩個子節點的根節點 40 時,可選擇以『左子樹最大值』或『右子樹最小值』來遞補,最後計算遞補後各節點的新索引位置並寫出陣列變化。

🤖
AI 詳解
AI 專屬家教

【解題思路】根據二元樹的陣列表示法(左子節點在 $2i$,右子節點在 $2i+1$)還原樹狀結構,並依據二元搜尋樹刪除節點的規則進行替換與節點搬移。 【詳解】 一、還原原始樹結構

小題 (三)

以下陣列儲存了一個二元搜尋樹,根節點為 A(1),若針對該二元樹刪除 30,請顯示該陣列的變化。(5 分)

思路引導 VIP

看到此題,應先聯想以一維陣列表示二元樹的索引規則:若節點位於 A[i],其左子節點為 A[2i],右子節點為 A[2i+1]。接著套用二元搜尋樹 (BST) 刪除節點的三種情況(無子節點、單一子節點、雙子節點),對應計算出陣列中需要被修改或清空的索引位置。

🤖
AI 詳解
AI 專屬家教

【解題思路】運用陣列表示二元樹的索引規則(父節點 i,左子節點 2i,右子節點 2i+1),配合二元搜尋樹的刪除邏輯進行陣列元素的替換與搬移。 【詳解】 (註:因原題目未提供具體陣列內容,本解答將建構一組標準範例陣列以進行邏輯追蹤與推導演示)

小題 (四)

以下陣列儲存了一個二元搜尋樹,根節點為 A(1),請列舉可依序插入的五個數值,使得該二元樹成為完整二元樹(full binary tree)。(10 分)

思路引導 VIP

作答此題需先釐清「完整二元樹 (Full Binary Tree)」的定義(國考常指節點數為 2^h-1 的完美二元樹)。接著依據二元搜尋樹「左 < 根 < 右」的性質,推導出應插入的數值範圍,並透過控制插入順序,確保新節點能正確落於陣列的特定索引位置。若遇考卷漏印初始陣列,應主動假設合理情境並詳列推導步驟以爭取分數。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用二元搜尋樹(BST)「左子節點 < 父節點 < 右子節點」性質,配合陣列索引(左子 2i、右子 2i+1)與完整二元樹(節點數 2^h-1)的結構特徵進行推導。 【詳解】 已知:本題未提供初始陣列內容。依據二元樹性質,完整二元樹(Full Binary Tree,依 Horowitz 定義等同 Perfect Binary Tree)的節點總數必為 2^h-1(如 1、3、7、15...)。因題目要求「插入五個數值」,合理推測原樹已有 2 個節點(2+5=7),插入後形成高度為 3、共 7 個節點的完整二元樹。

📝 二元搜尋樹操作
💡 依左小右大原則維護結構,並以特定規則進行節點刪除與陣列映射。

🔗 BST 刪除兩子節點處理鏈

  1. 1 定位節點 — 尋找欲刪除之目標節點並確認其具有左右子節點
  2. 2 尋找替補 — 找尋左子樹最大值 (Predecessor) 或右子樹最小值
  3. 3 數值置換 — 將替補節點的數值複製到欲刪除之目標節點位置
  4. 4 移除替補 — 刪除原替補節點位置,此點必為葉點或僅有一子
🔄 延伸學習:延伸學習:學習如何透過旋轉 (Rotation) 維持 AVL 樹的平衡。
🧠 記憶技巧:左小右大根中間,刪二找代最保險,陣列索引二倍點。
⚠️ 常見陷阱:刪除具兩個子節點的節點時,未挑選正確替代者(前序或後繼)導致結構混亂;陣列映射時忽略空節點占位。
平衡二元樹 (AVL Tree) B-Tree 堆積 (Heap) 陣列表示法

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

常見樹狀資料結構:原理、應用與實作
查看更多「[資訊處理] 資料結構」的主題分類考古題

📝 同份考卷的其他題目

查看 114年[資訊處理] 資料結構 全題