大家安安,o'_'o 最近我想要判斷兩(後序)運算式是否相等,例如中序式 A + (B+C)*D - E 的後序式可以是 BC+D* A + E - 或 A BC+D* E - +。 一開始的想法是構造 expression tree 然後看看經過旋轉後是否相等,但是我發現加法、乘法有交換律與 結合律,事情就變得好複雜。 比如把上面的例子簡化為中序式 X + Y - Z,後序式的寫法包括但或許不限於 X Y + Z - 及 X Y Z - + 等 等。寫成 expression tree 的話分別是: - / \ + Z / \ X Y + / \ X - / \ Y Z 這樣似乎就沒辦法繼續惹 想請問各位大大能否給我一些方向,謝謝!!