在java的家谱

时间:2018-03-27 21:49:31

标签: java tree binary-search-tree

我需要创建一个可以在java中创建族谱的java程序。该程序以下列格式读取输入文件:

A is father of B
B is father of C
A is father of D
:
:

我需要做的是创建一个家谱或任何看起来合乎逻辑的树。然后JUnit测试将在我的程序上运行,要求返回true或false,如: B是A的孩子,A是E的祖先......

另外,我需要从左到右遍历树,并显示层次结构,如: A B C .....

我已经想到了一些逻辑,尽管我是Java新手。我创建了一个Person类,它有元素:Name,Left of Person类型和Right of person type:

class Person {

    String name;
    Person left;
    Person right;
}

另外,我添加了getter,setter和构造函数。

然后我读取文件并创建一个人:

BufferedReader br = new BufferedReader(new FileReader(new File(path)));
String names[] = br.readLine().split(" ");
Person p = new Person(names[0]);
p.setLeft(new Person(names[4]));

我在这个阶段完全感到困惑,并会受益于一些指导。 谢谢你的推荐

1 个答案:

答案 0 :(得分:0)

而不是左右,更好地使用 List< Person > children, 使用二叉树来解决这个问题毫无意义。