🐣 알고리즘 삐약/✌️알고리즘 개념 잡기

백트래킹

우주수첩 2024. 8. 13. 21:27
728x90

 

백트래킹이란?

- 노드의 유망성을 판단한 뒤 해당 노드가 유망하지 않다면 부모노드로 돌아가 다른 자식 노드를 찾는 방법.

❗️즉, 모든 경우의 수를 찾아 보지만 그 중에서도 가능성 있는 경우의 수만 찾아보는 것을 의미❗️

 

 

백트래킹 vs dfs vs 브루트포스

 

1. 브루트 포스

- 모든 경우의 수를 찾아본다.

- 장점 : 만족하는 값을 100% 찾아냄

- 단점 : 조합 가능 경우의 수에 따라 필요 자원 크기가 커 질 수 있음.

 

2. 백트래킹 

- 해당 범위 내에서 조건을 추가하여 값의 유망성을 판단.

- 장점 : 탐색에 불필요한 자원을 줄일 수 있다. (브루트 포스의 단점 보완)

 

3. dfs 

- 백트래킹에 사용되는 대표적인 탐색 알고리즘

❗️ 백트래킹의 방법 중 하나가 dfs임 ❗️

 

 

 

 

 

728x90