1️⃣ 매개변수로는 그래프와 시작점 받기
def bfs(graph, start):
2️⃣ deque() 활용하여 queue 생성
queue = deque()
3️⃣ 시작점 방문하고 큐에 시작 인덱스 추가
visited[start] = True
queue.append(start)
4️⃣ queue가 빌때까지 반복
큐에서 가장 먼저 들어갔던 인덱스 꺼내서, 해당 인덱스와 연결된 노드 순회
while queue:
cur = queue.popleft()
for node in graph[cur]:
5️⃣ 만약 노드를 방문하지 않았다면, 방문하고 큐에 해당 노드 인덱스 추가
if not visited[node]:
visited[node] = True
queue.append(node)
'알고리즘 > 알고리즘 개념' 카테고리의 다른 글
이분탐색 (0) | 2023.04.11 |
---|---|
이항계수 (+페르마의 소정리) (0) | 2023.04.11 |
플로이드 워셜 알고리즘 (0) | 2023.04.11 |
슈트라센 알고리즘 (0) | 2023.03.30 |
유클리드 호제법 (0) | 2023.03.28 |