EXPRESSION TREE:
Expression Trees
Binary trees are widely used to store algebraic expressions. For example,
consider the algebraic expression given as:
The expression tree is a tree used to represent the various expressions. The tree data structure is used to represent the expressional statements. In this tree, the internal node always denotes the operators.
- The leaf nodes always denote the operands.
- The operations are always performed on these operands.
- The operator present in the depth of the tree is always at the highest priority.i.e least priority operator will on top.
- The operator, which is not much at the depth in the tree, is always at the lowest priority compared to the operators lying at the depth.
- The operand will always present at a depth of the tree; hence it is considered the highest priority among all the operators.
Associativity for operators
- ʌ (power) : Right to Left
- * (multiplication), / (Divison) :Left to Right
- - (sub), +(Add) : Left to Right
Ex: Exp = (a – b) + (c * d)
Ex: Given an expression, Exp = ((a + b) – (c * d)) % ((e ^f) / (g – h)), construct the corresponding binary tree.
Ex: Given the binary tree, write down the expression that it represents.
Expression for the above binary tree is
[{(a/b) + (c*d)} ^ {(f % g)/(h – i)}]
solve the expression a*b /c + e/f * g + k - x * y
No comments:
Post a Comment