코드 6-7을 보면 큐를 하나 만든 후 매개변수로 전달된 시작 정점을 먼저 삽입하고 큐가 비기 전까지 while 문을 실행하면서 모든 정점을 방문합니다. 원래 방문 목적은 해당 정점에서 어떤 연산을 수행하기 위해서입니다만, 이번 예제 목적은 어떻게 방문하는지 아는 것이므로 단순하게 정점을 출력하는 것을 방문으로 대신하겠습니다. while 문 내의 print(v, end=" ") 문이 방문입니다.
코드만 보아서는 이해하기 어려우니 그림으로 처음부터 끝까지 쭉 따라가 보죠.
그림 6-15를 보면 시작 정점인 v가 2인 것을 알 수 있습니다. 큐 q를 생성했습니다. 큐는 아직 비어 있습니다. visited도 초기화를 했으므로 모든 정점이 False입니다.
▲ 그림 6-15 BFS 1