地方政府公務人員四等-電子工程類科計算機概要107 年第 15 題單選題
針對下圖的運算樹,若以前序(pre-order)方式走訪樹中節點且依序輸出節點內容,則輸出的字串為下列何者?
A*+XYZ正確答案
BX+Y*Z
CXY+Z*
D*+ZXY
A正確答案
前序走訪:根→左→右,輸出 *+XYZ,答案 (A)。
為什麼答案是 A
前序 (root, left, right):*、+、X、Y、Z。
載入中…
完整詳解
Pro · 無限重點 前序走訪:根→左→右,輸出 *+XYZ,答案 (A)。
1. 由圖讀出運算樹結構:根節點為 *,左子樹根為 +(左 X、右 Y),右子節點為 Z。
2. 此即中序表達式 (X+Y)*Z 的二元運算樹。
3. 前序走訪規則:先輸出根,再遞迴左子樹,最後遞迴右子樹。
4. 從根 * 開始 → 進入左子樹 +:輸出 +,再走 X、Y → 回到根的右子樹 Z。
5. 依序輸出:* , + , X , Y , Z,得字串 "*+XYZ"。
逐選項分析
A✓ 正確
前序 (root, left, right):*、+、X、Y、Z。
C✕
XY+Z* 為後序 (post-order) 遍歷結果。
D✕
*+ZXY 將右子樹 Z 與左子樹順序顛倒,違反 root→left→right 規則。
二元運算樹三種走訪對應
| 走訪法 | 順序 | 本題輸出 | 對應表示法 |
|---|
| 前序 Pre-order | 根→左→右 | *+XYZ | Prefix(波蘭式) |
| 中序 In-order | 左→根→右 | X+Y*Z | Infix(一般中序) |
| 後序 Post-order | 左→右→根 | XY+Z* | Postfix(逆波蘭式) |
務必從圖中確認 + 是 * 的『左』子節點、Z 是『右』子節點。若左右搞反,會誤選 (D) *+ZXY。