Expression Tree คืออะไร?
Expression Tree เป็น Binary Tree พิเศษที่:
- Leaf Nodes = Operand (ตัวถูกดำเนินการ เช่น ตัวเลข, ตัวแปร)
- Internal Nodes = Operator (ตัวดำเนินการ เช่น +, -, *, /)
ตัวอย่าง
นิพจน์: (a + b) * (c - d)
Expression Tree:
*
/ \
+ -
/ \ / \
a b c d
การใช้งาน
- Inorder Traversal -> ได้ Infix Expression (a + b) * (c - d)
- Postorder Traversal -> ได้ Postfix (ab+cd-*)
- Preorder Traversal -> ได้ Prefix (*+ab-cd)
ประโยชน์: ใช้ใน Compiler, Interpreter, Expression Evaluation, Symbolic Math