Exemplo n.º 1
0
    def topoSort(self):

        st = Stack()
        visited = [False] * self.V

        for node in self.adj:
            if visited[node] == False:
                self.DFS(node, visited, st)

        while st.empty() == False:
            print "%s " % st.pop(),
Exemplo n.º 2
0
    def dfs(self, idx):
        st = Stack()
        #self.visited[idx] = True
        st.push(idx)
        while st.empty() is False:
            tmp = st.pop()
            #print 'node :',tmp
            #st.get_stack()
            if self.visited[tmp] is False:
                print tmp, " ",
                self.visited[tmp] = True

            for node in self.graph[tmp]:
                if self.visited[node] is False:
                    st.push(node)