是否有支持高效编辑的DAG数据结构?

时间:2011-10-25 17:46:53

标签: data-structures graph cycle directed-acyclic-graphs

我正在寻找一种能够存储任何DAG的数据结构,但是能够有效地(即,边缘/顶点的数量次线性)检测添加边缘是否会创建一个循环(从而防止您破坏非循环不变量)。有谁知道这样的事情?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以维护有关图表 transitive closure 的数据结构。然后检查是否添加边缘导致循环在恒定时间内完成;如果要添加edge(i,j),请检查是否已存在从j到i的路径。但是,更新数据结构通常会更昂贵(参见例如La Poutré and van Leeuwen)。