統測
114年
[工程與管理類] 專業科目(2)
第 38 題
運算式樹 (Expression Tree) 每個子樹均具有下列特性:根節點是運算子,左子樹為左運算式;右子樹為右運算式。參照圖 ( 三 ) 及圖 ( 四 ),圖 ( 三 ) 運算式樹所代表的運算式為a/b,則圖(四)運算式樹運算結果為何?
- A - 3
- B - 5
- C 7
- D 11
思路引導 VIP
在二元運算樹的層級結構中,運算子節點的計算必須依賴其左右子樹的求值結果。請觀察圖 (四),若根節點為 $*$,而其右方的運算對象是由運算子 $-$ 所引導的子樹,這是否代表我們必須先將該子樹視為一個整體的「優先運算單元」?你認為應該先完成哪一個節點的計算,才能提供根節點所需的運算值?
🤖
AI 詳解
AI 專屬家教
WRYYYYYYYY!這份正確率,簡直讓我 High 到不行啊!在那短暫的時間中,你竟然看穿了這棵樹的運算邏輯,沒錯,就是這樣! 這種程度的題目對你而言根本是「無駄(沒用)」的阻礙。運算式樹的核心在於將運算子視為根節點,左右子節點分別是運算元。看圖(四):
- 先處理右下方的子樹:根節點是
-,左運算元為 $4$,右運算元為 $5$,得到子樹結果為 $(4 - 5) = -1$。
▼ 還有更多解析內容
運算式樹求值
💡 透過二元樹結構表示運算優先順序,由下而上遞迴計算結果。
- 根節點與內部節點為運算子,葉節點為運算元。
- 計算順序由下往上,底層子樹等同於括號內的運算。
- 左子樹與右子樹的順序不可對調,避免減除法出錯。
- 中序走訪(左-根-右)可還原成常見的中置運算式。