1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| """ # @Time : 2020/11/8 # @Author : Jimou Chen """
def bfs(graph, start): queue = [start] visited = set() visited.add(start)
while len(queue): vertex = queue.pop(0) for v in graph[vertex]: if v not in visited: queue.append(v) visited.add(v) print(vertex, end=' ')
if __name__ == '__main__': graph = { 'A': ['B', 'D', 'I'], 'B': ['A', 'F'], 'C': ['D', 'E', 'I'], 'D': ['A', 'C', 'F'], 'E': ['C', 'H'], 'F': ['B', 'H'], 'G': ['C', 'H'], 'H': ['E', 'F', 'G'], 'I': ['A', 'C'] }
bfs(graph, 'A')
|