def __init__(self, G): self.orders = [] cyclefinder = DirectedCycle(G) if not cyclefinder.hasCycle(): dfs = DepthFirstOrder(G) self.orders = dfs.reversePost() else: print("G hasCycle:", end=' ') print(cyclefinder.cycle())
def __init__(self, G): self.orders = [] cyclefinder = DirectedCycle(G) if not cyclefinder.hasCycle(): dfs = DepthFirstOrder(G) self.orders = dfs.reversePost() else: print("G hasCycle:", end=' ') print(cyclefinder.cycle())
def __init__(self, G): self.counts = 0 self.markeds = [False] * G.V() self.ids = [0] * G.V() order = DepthFirstOrder(G.reverse()) for s in order.reversePost(): if not self.markeds[s]: self.dfs(G, s) self.counts += 1
def __init__(self, G): self.counts = 0 self.markeds = [False]*G.V() self.ids = [0]*G.V() order = DepthFirstOrder(G.reverse()) for s in order.reversePost(): if not self.markeds[s]: self.dfs(G, s) self.counts += 1