免費開始練習
moea_joint_essay 102年 [資訊] 資訊管理、程式設計

第 二 題

📖 題組:
給予一個二元搜尋樹(Binary Search Tree)的後序追蹤(5、2、13、9、18、29、25、54、56、48、35、16),請回答下列問題:
📝 此題為申論題,共 2 小題

小題 (二)

請使用虛擬碼(Pseudo Code)寫出搜尋此樹的副程式(限以遞迴(Recursive)演算法寫出,若有需要,亦須寫出假設或宣告變數及註解)。若要在第(一)小題的二元搜尋樹搜尋 29 這個節點,則須呼叫此遞迴函數幾次?(15 分)

思路引導 VIP

使用虛擬碼寫出BST的遞迴搜尋演算法。模擬搜尋過程計算呼叫次數(包含最初的呼叫)。

🤖
AI 詳解
AI 專屬家教

虛擬碼:

// 節點結構定義

小題 (一)

請畫出此二元搜尋樹。(5 分)

思路引導 VIP

利用二元搜尋樹(BST)的特性及後序追蹤的結果重建樹。後序追蹤最後一個元素是根節點,BST中左子樹的值皆小於根節點,右子樹的值皆大於根節點,藉此遞迴分出左右子樹。

🤖
AI 詳解
AI 專屬家教

在後序追蹤中,最後一個元素為樹的根節點(Root),因此根節點為 16。 二元搜尋樹(BST)的特性是左子樹的節點值小於根節點,右子樹的節點值大於根節點。 利用此特性,可以將序列 5, 2, 13, 9, 18, 29, 25, 54, 56, 48, 35 分為:

🏷️ 相關主題

物件導向程式設計與系統分析核心概念
查看更多「[資訊] 資訊管理、程式設計」的主題分類考古題