Question: Java - data structures P3 Design an algorithm that produces a binary expression tree from a given infix expression. You can assume that the infix
Java - data structures
P3
Design an algorithm that produces a binary expression tree from a given infix expression. You can assume that the infix expression is a string that has only the binary operators +, -, *, / and one-letter operands. Implement the solution as a construction in ExpressionTree that takes a string argument:
public ExpressionTree(String infix)
that calls the private method
private ExpressionTreeInterface formTree(String expr, int first, int last)
to construct the tree. formTree() builds the tree recursively.
ExpressionTree.java
public class ExpressionTree extends BinaryTree
return result; } // end evaluate private double getValueOf(String variable) { // strings allow multicharacter variables double result = 0; if (variable.equals("a")) result = 1; else if (variable.equals("b")) result = 2; else if (variable.equals("c")) result = 3; else if (variable.equals("d")) result = 4; else if (variable.equals("e")) result = 5; return result; } // end getValueOf
private double compute(String operator, double firstOperand, double secondOperand) { double result = 0; if (operator.equals("+")) result = firstOperand + secondOperand; else if (operator.equals("-")) result = firstOperand - secondOperand; else if (operator.equals("*")) result = firstOperand * secondOperand; else if (operator.equals("/")) result = firstOperand / secondOperand; return result; } // end compute } // end ExpressionTree
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
