2

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

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

4

1 回答 1

0

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

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

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

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

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

于 2015-09-14T06:46:46.343 回答