-
DFS/BFSBase Line/알고리즘 2022. 2. 14. 18:10#방문처리def dfs(graph,v,visited):visited[v] = Trueprint(v,end=" ")for i in graph[v]:if not visited[i]:dfs(graph,i,visited)#각 노드들을 방문처리 하면서 깊이 탐색 진행graph = [[],[2,3,8],[1,7],[1,4,5],[3,5],[3,4],[7],[2,6,8],[1,7]]#그래프에 8개의 노드가 있으므로 처음 자리 0이므로 9개생성visited = [False]*9dfs(graph,1,visited)#BFS : 너비 우선 탐색 => 가까운 노드부터 탐색하는 알고리즘from collections import dequedef 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]]
visited = [False]*9bfs(graph,1,visited)#reference : 이코테