Pseudo Code
Coddy의 너비 우선 탐색 - 그래프 알고리즘 코스 레슨 — 9개 중 4번째.
bfs(n, edges, start):
build adjacency (sort each list ascending)
visited = all false
queue = [start]; visited[start] = true
order = []
while queue not empty:
node = queue.dequeue() # 앞에서 꺼냄
order.add(node)
for nb in adj[node]:
if not visited[nb]:
visited[nb] = true
queue.enqueue(nb)
return order- DFS와의 유일한 차이점은 컨테이너입니다: 스택(LIFO) 대신 큐(FIFO)를 사용합니다.
- 큐를 구현하는 쉬운 방법은 이동하는 head 인덱스가 있는 배열을 사용하는 것입니다:
queue[head]를 읽고head를 증가시켜 dequeue를 수행합니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
너비 우선 탐색 - 그래프 알고리즘의 모든 레슨
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)