말 그대로 모든 경우의 수를 탐색하는 방법이다. 모든 경우의 수를 따지기 때문에 Brute Force(난폭한 힘, 짐승같은 힘)이라고 부르기도 한다.
완전 탐색을 사용하기 위한 두 가지 조건이 있다.
모든 경우의 수를 따지는 방법이기 때문에, 일반적으로 완전탐색의 경우 효율적으로 작동하지는 않는다.
자물쇠 0000~9999까지 모든 경우의 수를 따지듯, 모든 해를 대입해보는 방법이다. 효율적이기 힘든 방법으로 잘 사용되지 않는 방법이다.
순열은 임의의 수열을 다른 순서로 연산하는 방식을 의미한다. 같은 데이터가 입력된 수열이지만 순서에 따라 의미가 있을 때, 또 이 순서로 연결되는 수열을 찾아낼 수 있는 경우를 계산할 수 있다.
재귀는 자기 자신을 호출한다는 의미이다. 재귀 함수를 생성하면 자기 자신을 호출해서 쓸모없는 코드의 반복을 줄인다.
그래프 자료 구조에서 너비 우선 탐색(BFS, Breadth First Search)와 깊이우선탐색