Я создал двоичное дерево выражения и имеет операторы (+, -, /, *) в качестве корней и операндов (значений) в качестве детей слева/справа. Мне нужно оценить это выражение в двоичном дереве, используя параметры (T, v), где «T» - двоичное дерево, а «v» - это узел, в котором начинается обход послепорядка.Оценка выражения в двоичном дереве Java
Я искал, как работает постобработка, и все, что я понимаю. Но я не знаю, как реализовать код, используя узел «v» для обхода послепорядка.
Мой метод выглядит следующим образом ...
public int evaluateExpression (LinkedBinaryTree<T> tree, Position<T> v) {
}
Это должен возвращать оператор используется на своих операторов (дети корня). Итак, я понимаю, что делать, я зациклен на том, как это сделать на самом деле. -.-
Хорошо, я понимаю, что вы делаете. Я хотел бы понять это немного больше. Когда вы используете tree.value и tree.operator, откуда вы получаете «значение» и «оператор»? –
От узла дерева, который будет чем-то вроде 'class LinkedBinaryTree {LinkedBinaryTree left, right; int operator; Значение T; } '. –
EJP
@EJP поддерживает этот «хороший» API: http://net3.datastructures.net/doc5/net/datastructures/LinkedBinaryTree.html :) –