繁体   English   中英

使用数据结构在 Java 中实现家谱的最佳方法

[英]Best way of implementing a family tree in Java using a data structure

https://softwareengineering.stackexchange.com/questions/285418/name-of-data-structure-thats-tree-like-with-multiple-root-nodes

我偶然发现了上面有人回答了关于实现具有> 2个节点的树的问题,我只是想了解如何最好地实现具有两个以上子节点的父节点的家谱。 我看过二叉树,但由于它们只能有两个子节点,因此决定在其他地方进行研究。 我还研究了使用森林数据结构来实现由具有 0 个多个子节点的多个节点组成的家族谱系树。 可能会使用森林树,但是从我搜索并发现的大多数表示中,它看起来类似于一个脱节的集合,但我不希望父节点已经注定没有孩子。 我希望我所说的有意义。 任何人能够提供的任何建议或意见将不胜感激。

如果你想代表一个孩子的列表,只需在你的 Person 类中有一个 Person 实例的列表:

class Person {
  List<Person> children;
  Person father;
  Person mother;
}

然后,您可以将任意数量的人员添加到子列表中。

我还在此处添加了父亲和母亲字段,以便您导航到父母。

一个提示:对你的建模非常彻底。 家庭关系有一些容易漏掉的案例,比如收养。 “父亲”和“母亲”几乎可以肯定是过于简单化了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM