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; }
然后,您可以根据需要向子项列表添加任意数量的人员 .
我还在这里添加了父亲和母亲的字段,以便您导航到父母 .
一个提示:对你的建模非常彻底 . 家庭关系有一些容易错过的案例,例如:采用 . “父亲”和“母亲”几乎肯定过于简单化 .
1 回答
如果要表示子列表,只需在Person类中包含Person实例列表:
然后,您可以根据需要向子项列表添加任意数量的人员 .
我还在这里添加了父亲和母亲的字段,以便您导航到父母 .
一个提示:对你的建模非常彻底 . 家庭关系有一些容易错过的案例,例如:采用 . “父亲”和“母亲”几乎肯定过于简单化 .