inblog logo
|
Gyeongwon's blog
    Algorithm

    [알고리즘 #5] 백트래킹

    도경원's avatar
    도경원
    Sep 03, 2025
    [알고리즘 #5] 백트래킹
    Contents
    백트래킹백트래킹 핵심 이론

    백트래킹

    탐색 기법으로, 문제를 해결할 수 있는 모든 경로를 탐색하면서 선택한 경로가 유효하지 않거나 조건에 만족하는 해를 찾지 못할 경우, 이전 단계로 되돌아가 다른 경로를 시도하는 알고리즘이다.
    • 기능 : 문제를 해결할 수 있는 모든 경로 탐색
    • 특징
      • 재귀 함수로 구현
      • 가지치기로 성능 향상
    • 시간 복잡도(N: 분기 수, d: 탐색 깊이)
      • O(N^d)
    백트래킹은 일반적으로 재귀 함수 형태로 구현하며, 앞서 배운 DFS의 개념과 구현 방식이 매우 유사하다. 가장 큰 특징은 가지치로 유효하지 않는 경로를 조기에 배제하여 탐색 범위를 줄이고 성능을 높힌다.

    백트래킹 핵심 이론

    1. 가능한 선택지 탐색하기

    2. 유효성 검사 및 가지치기

    각 선택지가 문제의 조건을 만족하는지 검사한다. 만약 조건을 만족하지 않으면, 해당 경로는 더 이상 탐색하지 않고 즉시 이전 단계로 되돌아간다.

    3. 해답 도출하기

    조건을 만족하는 해답을 찾으면 이를 기록하고, 필요에 따라 다른 경로도 계속 탐색한다.
     
     
    Share article
    Contents
    백트래킹백트래킹 핵심 이론

    Gyeongwon's blog

    RSS·Powered by Inblog