Я пытался переключиться на Java с узла, и меня интересует одна вещь: как напечатать объект, такой как двоичное дерево, в формате, аналогичном тому, как его отображал бы узел. Например, мой код инициализации двоичного дерева выглядит следующим образом:
public class BinaryTree {
int data;
BinaryTree left, right;
public static void main(String[] args) {
BinaryTree tree = new BinaryTree(1);
tree= new BinaryTree(1);
tree.left = new BinaryTree(2);
tree.right= new BinaryTree(3);
tree.left.right = new BinaryTree(4);
System.out.println(tree); // output -> BinaryTree@4554617c
}
public BinaryTree(int data) {
super();
int val;
this.left = this.right = null;
}
}
В узле это двоичное дерево будет отображаться следующим образом:
TreeNode {
val: 1,
right: TreeNode { val: 3, right: null, left: null },
left:
TreeNode {
val: 2,
right: TreeNode { val: 4, right: null, left: null },
left: null } }
Однако на Java, когда я делаю
System.out.println (дерево);
вывод -> BinaryTree @ 4554617c
Как правильно распечатать мое BinaryTree и как это сделать? Есть ли способ напечатать дерево в формате JSON?