---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-3-61aa6a172645> in <module>()
9
10 digraph = DiGraph(nodes, edges)
---> 11 digraph.topological_sort()
<ipython-input-1-b5f558babc0a> in topological_sort(self)
13 for node in self.nodes:
14 if self.flags[node] == self.false_flag:
---> 15 self.visit(node)
16
17 return self.sorted_nodes[::-1]
<ipython-input-1-b5f558babc0a> in visit(self, node)
24 self.flags[node] = self.temp_flag
25 for node_to in self.edges[node]:
---> 26 self.visit(node_to)
27
28 self.flags[node] = self.perm_flag
<ipython-input-1-b5f558babc0a> in visit(self, node)
24 self.flags[node] = self.temp_flag
25 for node_to in self.edges[node]:
---> 26 self.visit(node_to)
27
28 self.flags[node] = self.perm_flag
<ipython-input-1-b5f558babc0a> in visit(self, node)
24 self.flags[node] = self.temp_flag
25 for node_to in self.edges[node]:
---> 26 self.visit(node_to)
27
28 self.flags[node] = self.perm_flag
<ipython-input-1-b5f558babc0a> in visit(self, node)
24 self.flags[node] = self.temp_flag
25 for node_to in self.edges[node]:
---> 26 self.visit(node_to)
27
28 self.flags[node] = self.perm_flag
<ipython-input-1-b5f558babc0a> in visit(self, node)
19 def visit(self, node):
20 if self.flags[node] == self.temp_flag:
---> 21 raise ValueError("DiGraph has a cycle")
22
23 elif self.flags[node] == self.false_flag:
ValueError: DiGraph has a cycle