我有一个大的有向无环图,我想计算该图的传递约简。
我目前正在使用简单的深度优先搜索来计算传递减少,但该算法对于我的用例来说太慢了。但是,我已经能够在邻接矩阵表示上找到有效的算法,而我的表示大致相当于邻接列表。(它实际上表示为一组 C++ 对象,每个对象都有指向其子代和父代的指针)。
我显然可以将我的 DAG 转换为邻接矩阵,进行归约,然后将其转换回来;但这似乎有点浪费,如果可能的话,我想要一个更简单的算法。
我的图表包含约 100,000 个节点。
我有一个大的有向无环图,我想计算该图的传递约简。
我目前正在使用简单的深度优先搜索来计算传递减少,但该算法对于我的用例来说太慢了。但是,我已经能够在邻接矩阵表示上找到有效的算法,而我的表示大致相当于邻接列表。(它实际上表示为一组 C++ 对象,每个对象都有指向其子代和父代的指针)。
我显然可以将我的 DAG 转换为邻接矩阵,进行归约,然后将其转换回来;但这似乎有点浪费,如果可能的话,我想要一个更简单的算法。
我的图表包含约 100,000 个节点。