2015-10-19 36 views
-4

什麼是表達式樹以及它如何評估?它是否以自頂向下和左右方式進行評估?什麼是數據結構中的表達式樹?

+0

假設您自上而下評估它。所以,你首先評估根節點。但是如何?你還沒有操作數的值。 – harold

回答

1

二元表達式樹從葉子到根,通常從左到右(算術運算,它取決於表達式和樹的類型) - 往往是遞歸的。

此圖片可以幫助您瞭解表達式樹的主要原則:

enter image description here

然而,這個問題太簡單和廣泛。請在下次回顧問題並提出問題只有如果它是特定的並且在Internet中沒有答案。

因特網上有很多關於這個話題的文章,從Wikipedia article with algorithm and examples in pseudo-code開始,到許多其他文章結束。

0

表達式樹是以/作爲樹顯示/轉換的表達式。

例如

X =(Y + 4)* 2

可以顯示爲

 * 
/ \ 
    + 2 
/\ 
y 4  

晴評價是由左到右,可以從樹立即看到。如果評估順序不同,樹會看起來不同。

+1

'y'根不能在那裏。 – vish4071

+0

@ vish4071謝謝 –

1

表達式樹只是任何代數表達式作爲二叉樹節點的表示。根據你的表達方式,你將選擇遍歷來評估你的樹(當然也可以創建它)。

如果您的原代數表達式是standard algebraic expression,請執行in-order traversal

如果它是prefix algebraic expression,那麼您應該做pre-order traversal

或者如果它是post-fix,則在二叉樹上做post-order traversal

- 用於樹的創建和評估。

編輯:@YeldarKurmangaliyev給出的答案是標準代數表達式的一個展示,因此樹使用inorder遍歷來創建(和評估)。