from collections import deque
def bfs(graph, start, visited):
queue = deque([start])
visited[start] = True
while queue:
v = queue.popleft()
print(v, end=" ")
for i in graph[v]:
if not visited[i]:
queue.append(i)
visited[i] = True
#각 노드 번호에 연결 되어 있는 노드의 숫자
graph = [
[],
[2, 3, 8],
[1, 7],
[1, 4, 5],
[3, 5],
[3, 4],
[7],
[2, 6, 8],
[1, 7]
]
# 정렬이 안되어 있으면 정렬이 필요함
for i in graph:
i.sort()
visited = [False] * 9
bfs(graph, 1, visited)
'코테 > Algorithm & 방식' 카테고리의 다른 글
[Algorithm] 삽입 정렬 (0) | 2024.03.21 |
---|---|
[Algorithm] 선택 정렬 (0) | 2024.03.21 |
[Algorithm] DFS (0) | 2024.03.21 |
[Algorithm] 인접 리스트 (0) | 2024.03.21 |
[방식] [완전 탐색] int형을 str형으로 활용하는 예 (0) | 2024.03.21 |