def bft(self, starting_node): q = Queue() visited = set() visited.add(starting_node) q.Enqueue(starting_node) while q.len() > 0: node = q.dequeue() if node not in visited: visited.append(node) for i in self.vertices[node]: q.enqueue(i)