家谱的数据结构

Abd*_*mad 6 c++ algorithm stl data-structures

我想知道哪个数据结构最适合存储一个人的家谱,有配偶,子女和父母的关系.另外我想知道,如果一个人与其他人有血缘关系.

我可以找到一些来自c ++ STL的数据结构.

只是想法是必需的.

Tri*_*ner 3

是家庭作业吗?

\n\n

即使它被称为 \xe2\x80\x9cTree\xe2\x80\x9d,这也是一个糟糕的结构:想象一下两个兄弟娶了两个姐妹。

\n\n

一般的图结构将是最好的(树是图的特定形式)。边缘将承载关系。然后,您可以仅在代表血缘关系的边缘上运行路径查找算法(如老式的 dijkstra)。

\n\n

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

\n