def TopologicalOrder(G): """Find a topological ordering of directed graph G.""" L = list(postorder(G)) L.reverse() if not isTopologicalOrder(G, L): raise ValueError("TopologicalOrder: graph is not acyclic.") return L
def TopologicalOrder(G): """Find a topological ordering of directed graph G.""" L = list(postorder(G)) L.reverse() if not isTopologicalOrder(G,L): raise ValueError("TopologicalOrder: graph is not acyclic.") return L
def isAcyclic(G): """Return True if G is a directed acyclic graph, False otherwise.""" L = list(postorder(G)) L.reverse() return isTopologicalOrder(G, L)
def isAcyclic(G): """Return True if G is a directed acyclic graph, False otherwise.""" L = list(postorder(G)) L.reverse() return isTopologicalOrder(G,L)