BFS와 DFS에 대한 설명

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

Breadth-First+Search.jpg

def bfs_queue(start_node, bfs_graph):
    bfslist = [start_node]      # 노드 리스트
    queue = [start_node]      
    
    while queue:                # 큐가 비어 있지 않는지 확인 
        node = queue.pop(0)     # 가장 왼쪽에 있는 노드부터 제거   
        
        
        for x in bfs_graph[node]:       
            if x not in bfslist:        # 방문리스트에 포함되어 있지 않으면
                bfslist.append(x)       # 방문리스트에 포함
                queue.append(x)        

    return bfslist

DFS(Depth-First Search) - 깊이우선탐색

Depth-First+Search.jpg