BFS, DFS BFS와 DFS는 그래프를 탐색하는 알고리즘 기법이다. 깊이 우선 탐색(Depth-First Search) DFS는 하나의 방향을 결정하면 그 방향을 따라 끝까지 도달한다. 한 노드를 시작으로 인접한 다른 노드를 재귀적으로 탐색해가고 끝까지 탐색하면 다시 위로 와서 다음을 탐색한다. 즉, 그래프에서 깊은 부분을 우선적으로 탐색한다. 사용하는 경우: 모든 노드를 방문하고자 하는 경우에 이 방법을 선택 스택(stack)을 사용해서 구현하며, 자기 자신을 호출하는 순환 알고리즘의 형태를 갖고 있다. 어떤 노드를 방문했는지 여부를 반드시 검사해야 한다. 검사하지 않을 경우 무한루프에 빠진다. 탐색 순서 0번을 시작으로 왼쪽에 위치한 1번 노드를 우선적으로 탐색 3번 노드가 끝이기에 이전 단계로 ..