목록Algorithm (1)
ol-rlo-zl
DFS(깊이우선탐색) & BFS(너비우선탐색)
1. DFS ( Depth-First Search ) 깊이 우선 탐색: 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 스택 자료구조 ( 혹은 재귀 함수 ) 이용 동작과정 탐색 시작 노드를 스택에 삽입하고 방문처리한다. (방문기준ex: 번호가 낮은 인접 노드부터) 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면, 그 노드를 스택에 넣고 방문처리한다. 방문하지 않은 인접 노드가 없으면, 스택에서 최상단 노드를 꺼낸다. 더이상 2번의 과정을 수행할 수 없을 때까지 반복한다. 전체 노드의 탐색 순서 = 스택에 들어간 순서 # DFS 메서드 정의 def dfs(graph, v, visited): # 현재 노드를 방문 처리 visited[v] = True print(v, end=' ') # ..
Algorithm
2023. 3. 26. 21:10