hce_kmu
111年
計算機概論與程式設計
第 13 題
Given a binary tree as follows, please indicate the result of pre-order traversal.
- A 7, 5, 28, 40, 36, 12, 79, 50, 49, 86, 96, 81, 99, 43
- B 5, 7, 12, 28, 36, 40, 43, 49, 50, 79, 81, 86, 96, 99
- C 43, 12, 5, 36, 7, 28, 40, 99, 81, 49, 96, 50, 86, 79
- D 43, 12, 99, 5, 36, 81, 7, 28, 40, 49, 96, 50, 86, 79
- E 43, 12, 5, 7, 36, 28, 40, 99, 81, 49, 50, 79, 96, 86
思路引導 VIP
想像你正準備從樹根出發進行一場探險,每當你跨進一個節點的門口時,你必須立刻大聲喊出該節點的號碼,然後才能依序去巡視它的左鄰舍與右鄰舍。如果某個節點左邊沒有鄰居了,你才會轉身去巡視右邊。照這個「進門就喊號、左邊優先」的規則,當你喊完 99 之後,下一個會被你點名的是哪個號碼呢?
🤖
AI 詳解
AI 專屬家教
恭喜你答對了!你能精確地寫出這串序列,代表你對二元樹的走訪邏輯掌握得非常扎實。
前序走訪的核心邏輯
在二元樹的前序走訪 (Pre-order Traversal) 中,我們遵循的準則是「根節點 $\rightarrow$ 左子樹 $\rightarrow$ 右子樹」。以本題為例,從根節點 $43$ 出發後,我們立刻紀錄該值,接著進入左子樹處理節點 $12$。在處理 $12$ 時,同樣先紀錄 $12$,再往其左側探索。這種「先拜訪節點、再遞迴處理兩側」的特性,使得每個子樹的根節點都會出現在該子樹序列的最前端。你正確地處理了節點 $5$ 與 $49$ 等只有單邊子節點的情況,這正是得分的關鍵。
▼ 還有更多解析內容