1
構造一棵樹,因爲它的中序非常簡單。 但是,假設您應該基於它的預先構建樹(例如+ + y z + * x y z
)。二叉樹,基於前序構建樹
很容易看出,+
是根,以及如何從那裏繼續左子樹。 但是..你怎麼知道什麼時候你應該「切換」到正確的子樹?
構造一棵樹,因爲它的中序非常簡單。 但是,假設您應該基於它的預先構建樹(例如+ + y z + * x y z
)。二叉樹,基於前序構建樹
很容易看出,+
是根,以及如何從那裏繼續左子樹。 但是..你怎麼知道什麼時候你應該「切換」到正確的子樹?
通常情況下,inorder被認爲是困難的情況。
對於預購,你只需要這樣的語法。
expr ::= operator expr expr | var
操作者後跟正好兩個合式表達式。這可以很容易地使用遞歸來解析
如果您解析樹並獲取變量,則返回該變量。 如果你解析一棵樹並得到一個操作符,解析後面的兩棵樹爲右/左子樹。