假设有一个由邻接矩阵表示的包含n个节点和m条边的有向无环图(DAG)。我需要计算出其闭包的矩阵形式。我们有一台计算机,每个单词占据b个比特位。我需要找到一种算法,在(n^2+nm/b)
的时间复杂度下计算其传递闭包。
我不太确定什么是“比特位”,以及如何使用它。
以下是查找DAG传递闭包的算法:
TransitiveForDAG (Graph G)
int T[1...n,1...n] ={0,...,0}
List L <- TopologicalSort(G)
For each v in reverse(L)
T[v,v]<-1
For each u in Adj[v]
for j<-1,...,n do
T[v,j]<-T[v,j] or T[u,j]
(n^2+nm/b)
是指时间(算法步骤)还是空间(内存使用)? - Ted Hopp