Я пытаюсь распечатать двоичное дерево, используя обход в порядке (в java), но без какой-либо двусмысленности.Печать двоичного дерева с использованием обхода InOrder без двусмысленности
Я создал дерево из ввода ввода после заказа.
Например, 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
}
}
Это мой первый раз на переполнение стека, легко перейти на я, если я не публиковал правильно :)