我有一个类似下面的列表。我想知道如何在Java中创建具有这种类型的列表的二叉树。有没有人能提供一些Java的二叉树插入代码来处理这种类型的列表?
例如:
List 1: AND AND AND G M S T
二叉树将是:
AND
AND AND
G M S T
对于这个列表:
List 2: AND AND G M S
二叉树将是:
AND
AND S
G M
我尝试了以下插入方法:
public void insert(R
我试图通过使用分隔符分隔不同的字段,将文本文件读入二叉树。当我试图将它读入二叉树时,我会得到数组超出界限的erropackage医院;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;`
public class main {
public static void main(String args[]) throws IOException
{
BufferedReader in = new BufferedReader(new Fil
我在Java中找到了用于将二叉树压平成数组的。我很难理解它是如何工作的。
以下是代码:
private static int FlattenTreeIntoArray(Node tree, int[] array, int i)
{
if (tree == null) return i;
// Flatten left subtree
i = FlattenTreeIntoArray(tree.Left, array, i);
// Get data from the current node
array[i] = tree.Data;
// F
如何检查我的二叉树不包含副本?你有算法吗?请写伪码
编辑:或(更好)使用数学属性。这是我在字母表A:(a,U,V)上的树,其中A、U和V分别是左子和右子。
如果树是像二叉树一样使用排序关系排序的&<(核遗传,反对称,传递性,总计),我可以表示T=(a,U,V)是在没有重复\forall u \in flatten(U) and \forall v \in flatten(V). u < a< v and u \neq a and a \neq v的情况下排序的,并且我必须递归地检查U树和树树V的属性。但是问题是:如果树没有排序(或者不是二叉树搜索树),我如何检查树不包
我知道这个问题本身可能是微不足道的,但我正在尝试从level order输入生成一个二叉树,然后遍历它,以表示该树保存在数据结构中。假设输入是- a,s,e,r,t,*,w,它将生成一个二叉树,其表示如下:
a
/ \
s e
/\ /\
r t * w
有没有办法实现这一点,就像从树输入生成二叉树一样。如果有人以前遇到过这种问题,请用JAVA分享一些实现,比如使用队列。
我有一个被破坏的二叉树,它必须通过确保所有的childNodes都可以被跟踪或者从rootNode中得到它们的源来修复。所以对于所有的childNodes,我想得到它们的根(通常应该是id:0)。
获取二叉树中每个节点的代码。
FOREACH nodes
CHECK RELATIONSHIP IF ROOT PARENT ID NOT 0
ID 7与根节点分离,如何运行检查以确定7、9和10与根节点断开连接。