들어가기 전에
지금까지 BFS에 대해 깊이 있는 학습을 했으니 이제 마무리할 때가 된 걸까요? 사실, 이제부터가 진짜 시작입니다! 지금까지 배운 개념을 바탕으로 BFS 코드를 직접 작성해보면서, 이를 실제로 적용하고 체화하는 시간을 가져봅시다. 이렇게 직접 코드를 작성하며 BFS의 동작을 손에 익히는 과정이야말로 진정한 학습의 핵심입니다!
학습 목표
- 파이썬으로 BFS 코드를 직접 작성하고, 그 동작 원리에 대해 학습합니다.
- 주어진 문제 상황에 맞춰 BFS를 구현하고, 변형하는 방법을 이해할 수 있습니다.
강의 듣기
실습에서 사용하는 코드
from collections import deque
graph = {
0: [1, 3, 6],
1: [0, 3],
2: [3],
3: [0, 1, 2, 7],
4: [5],
5: [4, 6, 7],
6: [0, 5],
7: [3, 5]
}
start_v = 0
def bfs(graph, start_v):
q = deque()
visited = {}
q.append(start_v)
visited[start_v] = True
while q:
cur_v = q.popleft()
for next_v in graph[cur_v]:
if next_v not in visited:
q.append(next_v)
visited[next_v] = True
bfs(graph, start_v)