DFS 깊이 우선 탐색을 할 때, 늘 메서드를 구성하는데에 많은 시간을 들이는 것 같다 (아직 알고리즘 초보라는 소리다..)
백준 강의를 들으며 DFS 메서드 필수 구성 요소를 정리해보고자 한다
def DFS(매개변수):
1. 정답을 찾은 경우
2. 순환이 불가능한 경우
3. 순환이 가능한 경우 다음의 경우를 어떻게 호출할 것인지
브루트 포스 문제인 경우
모든 경우를 탐색하면 되기 때문에 3번 사항에 대해서 크게 고민하지 않아도 된다
다음으로 계속 revursive하게 탐색을 하고 모든 경우의 수만 찾으면 된다
그 외에 특정 조건의 탐색이 있는 경우
특정 경우에서 탐색의 경로를 바꾸어 주어야 하기 때문에 3번 사항에 대해 조건을 정해주어야 함
'알고리즘 > DFS' 카테고리의 다른 글
[DFS] 백준 14888번 : 연산자 끼워넣기 - Python 파이썬 (0) | 2021.10.22 |
---|---|
[DFS] 프로그래머스 고득점킷 네트워크 - Python 파이썬 (0) | 2021.10.11 |
[DFS] 프로그래머스 고득점킷 타켓넘버 - Python 파이썬 (0) | 2021.09.27 |
[DFS] 틀 모양의 아이스크림 찍어내기 (0) | 2021.08.19 |
Depth First Search 깊이 우선 탐색 알고리즘 (0) | 2021.08.18 |