族谱的数据结构

data structure for Family tree

本文关键字:数据结构 族谱      更新时间:2023-10-16

我想知道哪种数据结构最适合存储一个人的家谱,有配偶、子女和父母关系。我还想知道一个人是否和另一个人有血缘关系。

如果能从c++ STL中找到一些数据结构就好了。

一个图形将最适合于此,我建议您使用Boost

请注意,构建家谱可能被证明是棘手的,正如这个问题所说明的那样。

否则,std没有定义图数据结构。由于图表显然是最适合您的情况,我建议您要么实现自己的版本,或使用Boost

是家庭作业吗?

即使它叫做"树",它也是一个糟糕的结构:想象一下两个兄弟娶了两个姐妹。

一般的图结构是最好的(树是图的一种特殊形式)。这条边将承载这段关系。然后你可以只在代表血缘关系的边上运行寻路算法(就像以前的dijkstra)。

和boost::graph是一个非常好的库