Exemplo n.º 1
0
    def dft(self, starting_vertex):
        """
        Print each vertex in depth-first order
        beginning from starting_vertex.
        """
        q = Stack()
        self.visited = {starting_vertex}
        q.push(starting_vertex)

        while len(q) != 0:
            node = q.pop()
            print(node)
            to_visit: set = self.get_neighbors(node)
            q.multi_push(to_visit)
            self.visited = self.visited.union(to_visit)

        self.visited = set()
        print()