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

ekqde3dh  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(220)

https://softwareengineering.stackexchange.com/questions/285418/name-of-data-structure-thats-tree-like-with-multiple-root-nodes
我偶然发现上面有人回答了一个关于实现一个树有〉2个节点的问题,我只是想得到某人的想法,如何最好地实现一个家庭树的父节点有两个以上的子节点.我曾在二叉树中寻找,但是由于它们只能具有两个子节点,因此决定在别处搜索。我还研究了使用森林数据结构来实现一个家庭家谱树,它由多个节点和多个孩子组成。可能会使用森林树,但是从我搜索并找到的大多数表示中,它看起来像一个脱节的集合,但我不希望一个父节点已经注定没有孩子。我希望我所说的是有意义的。任何人能够提供任何建议或评论将不胜感激。

zf9nrax1

zf9nrax11#

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

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

然后,您可以向子列表中添加任意数量的人员。
我还在这里添加了父亲和母亲字段,以允许您导航到父母。
一个小窍门:做模特时要非常仔细。家庭关系中有一些很容易被忽略的情况,比如收养。“父亲”和“母亲”几乎肯定是过于简单化了。

相关问题