완전 탐색2 [개념 정리] 완전 탐색 원상 복구 특정 경로를 탐색한 후, 그 상태값이 다른 경로에 영향을 미치지 않게 하기위해선 어떻게 해야할까요? 이 글은 큰돌의 터전님의 강의인 10주 완성 C++ 코딩테스트 알고리즘 개념 교안을 참고하여 작성했습니다. 완전 탐색 - 원상복구원상 복구는 탐색 과정에서 특정 경로를 탐색한 후, 그 경로에 대한 상태를 이전 상태로 복구하는 과정입니다.즉, 현재의 경로를 탐색하고 나서, 탐색한 경로에 대한 흔적을 제거해 다른 경로에 영향을 미치지 않는 것입니다. 코드적으로 접근 해보면, 원상 복구란 현재 경로를 탐색할 때 visited 배열에 방문 처리를 했다가, 해당 경로의 탐색이 끝난 후 다른 경로를 탐색하기 전에 방문 처리를 취소하는 행위를 의미합니다. 하나의 예시를 들어보겠습니다.아래와 같은 그래프 모양에서 A.. 2025. 3. 4. [개념 정리] 완전 탐색 완전 탐색이 뭘까? 이 글은 큰돌의 터전님의 강의인 10주 완성 C++ 코딩테스트 알고리즘 개념 교안을 참고하여 작성했습니다. 완전 탐색완전탐색은 brute force라고도 불리며 모든 경우의 수를 탐색하는 알고리즘입니다.경우의 수는 순열 또는 조합을 의미합니다. 보통 완전탐색은 경우의 수 생성 (순열/조합) + 각 경우마다 조건 검사 및 처리 (DFS 또는 BFS 등)으로 구성되어 있습니다. 언제 완전탐색을 사용해야 할까요? 시간복잡도가 약 1억 번 이내라면 완전탐색을 써도 현실적으로 문제가 풀리게 됩니다. 컴퓨터가 1초에 약 1억 번 연산 가능하다고 보는 게 일반적 기준이기 때문입니다. 완전 탐색은 어떻게 구현할 수 있을까요? 완전 탐색을 하는 방법은 반복문을 활용한 완전 탐색, 재귀 호출을 활용한.. 2025. 3. 1. 이전 1 다음