반응형
Recent Posts
Recent Comments
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Today
Total
관리 메뉴

꿈꾸는 개발자의 devLog

[Algorithm] DFS/BFS - 2 본문

Algorithm/AlgorithmStudy

[Algorithm] DFS/BFS - 2

덩화 2023. 8. 1. 00:13
반응형

BFS(BBreadth First Search - 너비 우선 탐색)

가까운 노드부터 탐색하는 알고리즘

큐 자료 구조 사용

 

위의 예시로 사용 될 경우, 

결과 예시는 1,2,3,8,7,4,5,6이 됨

 

[코드 예시]

from collections import deque

def bfs(graph, v, visited):

    q = deque([v])
    
    visited[v] = True # 현재 노드 방문 처리
    
    while q: ## queue가 빌 떄 까지 반복
        p = q.popleft() ## 하나 먼저 뽑고
        
        for i in graph[p]:
            if not visited[i]: ## 방문하지 않았다면 
                q.append(i) # 큐에 삽입하고
                visited[i] = True # 방문 처리
                



graph = [
    [],
    [2,3,8], # 1의 노드에는 2,3,8이 달려있다는 뜻
    [1,7],
    [1,4,5],
    [3,5],
    [3,4],
    [7],
    [2,6,8],
    [1,7]
]

visited = [False] * 9 ## 방문 여부 리스트

bfs(graph,1, visited)

REF : 나동빈, 이것이 코딩테스트다

반응형

'Algorithm > AlgorithmStudy' 카테고리의 다른 글

[Algorithm] DFS/BFS - 4  (0) 2023.08.04
[Algorithm] DFS/BFS - 3  (1) 2023.08.01
[Algorithm] DFS/BFS - 1  (1) 2023.07.21
[Algorithm] 구현(Simulation) - 4 #게임 개발  (2) 2023.07.19
[Algorithm] 구현(Simulation) - 3 #N-Queen  (1) 2023.07.18
Comments