깊이우선탐색(DFS;Depth-First Search)
·
Computer Science/Algorithm
DFS 란?깊이우선탐색(DFS;Depth-First Search) 알고리즘은 그래프나 트리구조에서 깊이를 우선으로 탐색하는 알고리즘이다.즉 한 경로를 끝까지 다 탐색한 후에 다음 경로로 넘어가 탐색을 이어간다.주로 스택(Stack)이나 재귀함수를 사용하여 구현하고, 더이상 탐색할 노드가 없으면 이전 분기점으로 돌아간다(=백트래킹). DFS의 동작 방식0. 탐색이 필요한 노드를 저장할 스택과 방문 처리를 위한 visited 변수가 필요하다.1. 시작노드를 스택에 넣는다2. 스택이 비어있지 않다면 아래 내용을 반복한다.스택 최상단 노드를 현재 노드로 지정한다.현재 노드에 인접한 미방문 노드가 있으면 그 노드를 스택에 넣고 방문처리한다.인접한 미방문 노드가 없으면 스택에서 노드를 꺼낸다. BFS 구현 ..