As mentioned in Exercise C-5.8, postfix notation is an unambiguous way of writing an arithmetic expression without
Question:
As mentioned in Exercise C-5.8, postfix notation is an unambiguous way of writing an arithmetic expression without parentheses. It is defined so that if “(exp1) ◦(exp2)” is a normal (infix) fully parenthesized expression with operation “◦,” then its postfix equivalent is “pexp1 pexp2◦,” where pexp1 is the postfix version of exp1 and pexp2 is the postfix version of exp2. The postfix version of a single number of variables is just that number or variable. So, for example, the postfix version of the infix expression “((5+2)∗(8−3))/4” is “5 2 + 8 3 − ∗ 4 /.” Give an efficient algorithm, that when given an expression tree, outputs the expression in postfix notation.
Data from in Exercise C-5.8
Postfix notation is an unambiguous way of writing an arithmetic expression without parentheses. It is defined so that if “(exp1) ◦ (exp2)” is a normal fully parenthesized expression whose operation is “◦”, then the postfix version of this is “pexp1 pexp2◦”, where pexp1 is the postfix version of exp1 and pexp2 is the postfix version of exp2. The postfix version of a single number or variable is just that number or variable. So, for example, the postfix version of “((5+2) ∗ (8−3))/4” is “5 2 + 8 3 − ∗ 4 /”. Describe a nonrecursive way of evaluating an expression in postfix notation.
Step by Step Answer:
Data Structures And Algorithms In C++
ISBN: 9780470383278
2nd Edition
Authors: Michael T. Goodrich, Roberto Tamassia, David M. Mount