탐색 알고리즘 시각화

선형 탐색 · 이진 탐색 · 해시 탐색 · DFS · BFS를 단계별로 관찰합니다.

5. 너비 우선 탐색 BFS

핵심 가까운 노드부터 차례대로 탐색합니다. 큐를 사용하며, 최단 거리 탐색의 기본이 됩니다.
그래프 연결 관계: A → B, C / B → D, E / C → F / E → G
시작 노드: 속도
A
B
C
D
E
F
G
BFS 준비 완료 초기 큐: [A] 방문: A B를 큐에 추가 → 현재 큐: [B] C를 큐에 추가 → 현재 큐: [B, C] 방문: B D를 큐에 추가 → 현재 큐: [C, D] E를 큐에 추가 → 현재 큐: [C, D, E] 방문: C F를 큐에 추가 → 현재 큐: [D, E, F] 방문: D 방문: E G를 큐에 추가 → 현재 큐: [F, G] 방문: F 방문: G BFS 탐색 종료
from collections import deque

graph = {
    "A": ["B", "C"],
    "B": ["D", "E"],
    "C": ["F"],
    "D": [],
    "E": ["G"],
    "F": [],
    "G": []
}

queue = deque(["A"])

while queue:
    node = queue.popleft()
    print(node)

    for next_node in graph[node]:
        queue.append(next_node)