【Wei Foxkyo】評論
從已知答案為B中推出來的 不知對否,有錯誤請指正前序 /+-a+xy*+b*ca → 樹根為 / 左子樹為中序 -a+x+y 右子樹為中序 +b*c*a中序 -a+x+y/+b*c*a還原中序的括號((-a)+(x+y)) / ((+b)*(c*a))前序→樹根移到最前,左括號換成括號內最靠近左邊的運算子,去除右括號 得 /+-a+xy*+b*ca後序→樹根移到最後,右括號換成括號內最靠近右邊的運算子,去除左括號 得 a-xy++b+ca**/ 得答案B
【洪琟棆】評論
【Vivi】評論
由題目可知前序/+-a+xy*+b*ca 代表「/」是樹根中序-a+x+y/+b*c*a 已知「/」是樹根表示「-a+x+y」屬於左子樹「+b*c*a」屬於右子樹題目問題問後序表示順序為 左子樹右子數根各選項推導(a)a-xy+b+ca*+*/如果這為後序則「a-xy+b」應為左子樹但與我們中序所推導的「-a+x+y」屬於左子樹的內容不一樣因此此選項錯誤(b)a-xy++b+ca**/如果這為後序則「a-xy++」應為左子樹「b+ca**」應為右子樹與上述中序推導的均符合(c)ca*b+*xy+a-+/如果這為後序則「ca*b+*」應為左子樹但一樣與所推導內容不一樣錯誤(d)ac*b+*yx+a-+/如果這為後序則「ac*b+*」應為左子樹但與所推導內容不一樣錯誤