什麼是表達式樹以及它如何評估?它是否以自頂向下和左右方式進行評估?什麼是數據結構中的表達式樹?
回答
二元表達式樹從葉子到根,通常從左到右(算術運算,它取決於表達式和樹的類型) - 往往是遞歸的。
此圖片可以幫助您瞭解表達式樹的主要原則:
然而,這個問題太簡單和廣泛。請在下次回顧問題並提出問題只有如果它是特定的並且在Internet中沒有答案。
因特網上有很多關於這個話題的文章,從Wikipedia article with algorithm and examples in pseudo-code開始,到許多其他文章結束。
表達式樹是以/作爲樹顯示/轉換的表達式。
例如
X =(Y + 4)* 2
可以顯示爲
*
/ \
+ 2
/\
y 4
晴評價是由左到右,可以從樹立即看到。如果評估順序不同,樹會看起來不同。
'y'根不能在那裏。 – vish4071
@ vish4071謝謝 –
表達式樹只是任何代數表達式作爲二叉樹節點的表示。根據你的表達方式,你將選擇遍歷來評估你的樹(當然也可以創建它)。
如果您的原代數表達式是standard algebraic expression
,請執行in-order traversal
。
如果它是prefix algebraic expression
,那麼您應該做pre-order traversal
。
或者如果它是post-fix
,則在二叉樹上做post-order traversal
。
- 用於樹的創建和評估。
編輯:@YeldarKurmangaliyev給出的答案是標準代數表達式的一個展示,因此樹使用inorder遍歷來創建(和評估)。
- 1. 什麼JavaScript樹數據結構可用?
- 2. 樹的樹?樹木表?我創建了什麼樣的數據結構?
- 3. 表達式的結果是什麼?
- 4. 什麼是地圖樹的最佳數據結構
- 5. 「學習樹」是什麼樣的數據結構?
- 6. 什麼是C#中固定深度樹狀數據的最佳數據結構?
- 7. MySQL樹結構數據庫 - 複製節點的最佳方式是什麼?
- 8. 表達式樹的ReadLine的最佳方式是什麼?
- 9. ASP.NET MVC 5中表達式樹的優點是什麼@ Html.DisplayFor
- 10. 什麼是LazyTreeGridStoreModel的數據結構?
- 11. 這是什麼樣的數據結構?
- 12. 樹數據結構
- 13. 構建表達式樹
- 14. 表達式樹構造?
- 15. 構建表達式樹
- 16. Ruby數組是什麼數據結構?
- 17. 結合表達式樹
- 18. golang中以下json數據的結構表示是什麼?
- 19. 什麼是'熊貓式'數據結構存儲在DataFrame中?
- 20. 樹的數據結構
- 21. 在MongoDB中存儲樹數據結構的最有效方法是什麼?
- 22. 這是什麼php數據結構?
- 23. 什麼是聲納數據庫結構?
- 24. 這是什麼數據結構?
- 25. 什麼是矢量數據結構
- 26. 什麼是REBOL結構!數據類型?
- 27. 什麼是「和 - 產品」數據結構?
- 28. 分佈式樹形數據結構
- 29. 爲什麼決策樹結構只是sklearn DecisionTreeClassifier的二叉樹?
- 30. 構建從結構數據的邏輯表達式ClpB的
假設您自上而下評估它。所以,你首先評估根節點。但是如何?你還沒有操作數的值。 – harold