Я пытаюсь распечатать двоичное дерево, используя обход по порядку (в java), но без какой-либо двусмысленности.
Я создал дерево из ввода нотации пост-заказа.
Например, input = 2 3 4 * - 5 + Я затем создаю дерево и хочу распечатать его, используя обход по порядку.
Таким образом, вывод должен быть = 2 - (3 * 4) + 5. Однако использование обхода по порядку, очевидно, не дает мне разделяющих скобок.
Мой вопрос: могу ли я распечатать результат так, как я хочу, не вмешиваясь в базовые классы BinaryNode и BinaryTree, а только изменяя класс драйвера? И если да, то как мне это сделать?
Если я могу сделать это, только изменив свой метод printInOrder (в классе BinaryNode), это то, как это выглядит до сих пор:
public void printInOrder()
{
if (left != null)
{
left.printInOrder(); // Left
}
System.out.print(element); // Node
if (right != null)
{
right.printInOrder(); // Right
}
}
Это мой первый раз на Stack Overflow, полегче со мной, если я публиковал неправильно :)