2011-01-11 93 views
1

我有一個這樣的字符串/表達式:字符串分析 - 以遞歸

(((p1 == 1) && (p2 != 2)) || p3 > 3) || (p4 < 5) 

我想,以建立一個二進制表達式樹遞歸解析這個表達式。

因此,對於這個表達式,根將是|運營商。

我該如何構建該算法? 在此先感謝,

回答

3

看一看Shunting-Yard Algorithm

在計算機科學中,調度場算法爲 解析中綴表示法指定的數學表達式的方法。它可以用 產生反轉波形表示法(RPN)的輸出或作爲抽象語法樹(AST)的 。該算法由Edsger Dijkstra發明,並命名爲「調車場」算法,因爲其操作 類似於鐵路調車場。