0

必须有一个标准的数据结构来保存例如狗的繁殖信息、植物遗传杂交和复杂的人际关系。

有人可能认为这将是一个简单的树形结构,但是每个后代的两个(或更多,对于基因工程)父母的组合,每个父母集多个不同的后代,父母的多次移动(种马与许多其他马交配),收养等使这成为一个非常分散的结构。

我希望有人以前解决过这个问题。我应该研究什么资源?

4

2 回答 2

2

我认为你所拥有的只是一个简单的关系数据库,其中主要关系是“child_of”、“direct_descendant”等。

当然,这里的特定数据结构是非循环的,您可能想要执行标准 SQL 引擎通常不支持的传递查询(...的后代的后代)。

因此,如果您想在内存中执行此操作,可以使用有向无环图 (DAG)。

于 2009-03-18T20:27:15.637 回答
1

闻起来像DAG。如果有向和无环的限制太大,您可能需要查看图论数据结构

使用图来解决抽象问题,顶点代表实体,边代表关系。

于 2009-03-18T20:30:32.040 回答