깊이 우선 탐색(DFS)은 맹목적 탐색 방법의 하나.
탐색 트리의 최근에 추가된 노드를 선택하고, 노드에 적용 가능한 동작 방법 중 하나를 적용하여 트리에 다음 레벨의 한 개의 자식노드를 추가하여, 추가된 자식 노드가 목표 노드일 때 까지 앞의 자식 노드 추가 과정을 반복해 가는 방식이다.
탐색 과정이 시작 노드에서 한없이 깊이 진행되는 것을 막기 위해 깊이 제한을 사용한다. 깊이 제한에 도달할 때 까지 목표노드가 발견되지 않으면 최근에 추가된 노드의 부모노드로 되돌아와서, 부모노드에 이전과는 다른 동작 방법을 적용하여 새로운 자식노드를 생성한다.
깊이 우선 탐색의 장점으로
깊이 우선 탐색의 단점으로

너비 우선 탐색(BFS)는 맹목적 탐색 방법의 하나.
시작 노드를 방문한 후 시작 노드에 인접한 모든 노드들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때 까지 방문하지 않은 모든 노드들에 대해서도 너비 우선 탐색을 적용한다.
너비 우선 탐색의 장점으로
