在这个示例中,我们首先创建了一个有向图,并添加了一些边。然后,我们调用topological_sort()函数进行拓扑排序。该函数首先初始化一个访问标记数组visited和一个栈stack。然后,对于每个未访问的顶点,我们调用topological_sort_util()函数进行深度优先搜索,并将搜索到的顶点依次压入栈中。最后,我们输出栈中的顶点序列,即...
u, v): self.graph[u].append(v) def topological_sort_util(self, v, visited, stack): visited[v] = True for i in self.graph[v]: if visited[i] == False: self.topological_sort_util(i, visited, stack) stack.insert