Closed LEE-DA-EUN closed 1 month ago
완전탐색은 가능한 모든 경우의 수를 탐색하는 기법으로 선형/비선형 자료구조에서 접근 가능한 모든 경로를 탐색하는 기법입니다. 장점은 재귀를 사용한 구현 로직이 단순하고 해법을 구하기 쉽다는 점에 있고, 단점은 경로의 수가 많은 경우 재귀를 사용했을때 메모리 오버플로우가 날수있으며 성능이 저하될 가능성이 있다는 점입니다. 백트래킹은 조건에 맞지않는 경로를 조건으로 제거하여 방문한 노드를 더 이상탐색하지 않고 이전경로로 돌아가 다시 탐색하는기법입니다. 가지치기는 불필요한 조건을 미리 제거하여 탐색하는 경우의 수를 줄여 최적화하는 방법입니다. 순열 및 조합을 사용하는 문제에서는 경우의 수가 많아질 때는 중복계산이 많이 일어나는 부분을 찾아서 캐싱하여 사용하거나 가지치기 기법을 사용해서 최대한 경우의 수를 줄여볼 수 있습니다. 또는 연산자체를 비트를 활용해서 가볍게하는 방법도 존재합니다.