我在一本书中发现,使用DAG(有向无环图)进行拓扑排序对于呈现家谱(家族)树非常有用,但是这种算法取决于输入数据的顺序。
最佳答案
家谱数据库通常使用所谓的沿袭链接结构。
这意味着伴侣(丈夫/妻子)被链接在一起并称为家庭。一个家庭与其 child 联系在一起,从 child 到其 parent 家庭之间也有联系。
我不知道代表这种情况的特定图形类型。大多数程序使用一个家庭表和一个单独的表对其之间的适当链接进行自定义编程。
家谱数据库通常遵循这种结构,以匹配GEDCOM (Genealogy Data Communications) standard,后者被开发为允许在程序之间传输数据。
在该标准中,您将特别看到FAM和INDI记录。 FAM记录通过HUSB,WIFE和CHIL链接连接到INDI记录。 INDI记录通过FAMS(配偶)和FAMC(父)链接连接到FAM记录。
使用此数据结构将使您可以轻松读取GEDCOM文件并从其他家谱软件导入数据,还可以将数据导出到GEDCOM文件,以便其他家谱程序可以读取它。