我需要帮助在 Java 中实现二叉树。
我的意思不是从文本文件中读取它。我的意思是用户使用扫描仪输入树,然后它创建并输出树值。另外,“-”号表示树中的空值。
到目前为止,我有一个节点类正在工作,但我需要它能够从所述节点中创建一棵树。它还需要知道何时停止接受输入。
这是我的代码的开始。我需要一种方法来输入节点列表并使用这些类将其放入树中。
import java.util.Scanner;
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
import java.util.Queue;
import java.util.LinkedList;
/**
*
* @author phirstprince
*/
class TreeNode {
int data;
TreeNode LC, RC;
public TreeNode(int x) {
data = x;
LC = null;
RC = null;
}
}
public class TreeDeserialize {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x = input.nextInt();
}
}
例如,如果一个人输入这个( - 为空节点)
1
2
3
-
4
5
6
-
-
-
-
-
-
它将把它组织成这样的树。
1
/ \
2 3
\ / \
4 5 6
有人认为他们可以提供帮助吗?我相信这需要排队。另外如何确保它知道何时停止接受输入?
最佳答案
您应该开发一种方法来检查数字并将其添加到,例如,如果数字大于父级,则应将其添加到右侧,如果小于父级,则应将其添加到左侧。我认为你可以借助递归来开发这个功能。
关于java - Java中如何输入二叉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40225712/