일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- solid 원칙
- Unity
- two pointer
- BOJ
- SWEA
- PrefixSum
- 프로세스 상태
- algorithm
- dirtyflag pattern
- effective C++
- BFS
- Euclidean
- level1
- LEVEL2
- Flyweight Pattern
- level3
- Gold
- programmers
- Silver
- Modern C++
- 3D RPG
- Bronze
- 8-Puzzle
- 프로그래머스
- binary search
- knapsack Problem
- stack
- Zenject
- Project
- trie
Archives
- Today
- Total
목록DFS (1)
Patrick's Devlog

1. DFS 깊이우선탐색(depth-first search, DFS)은 맹목적 탐색 방법 중 하나로 탐색 트리의 최근에 첨가된 노드를 선택하고, 이 노드에 적용 가능한 동작자 중 하나를 적용해 트리에 다음 Level의 한개의 자식 노드를 첨가하여, 첨가된 자식 노드가 목표노드일 때까지 앞의 자식 노드의 첨가 과정을 반복해 가는 방식이다. 쉽게 설명하면 하나의 루트를 선택하여 최대한 깊이 들어가 확인한 후 다시 돌아가서 다른 루트를 탐색하는 방법이다. 구현 방법은 재귀 호출을 사용하면 된다. 탐색 과정이 시작 노드에서 한없이 깊이 진행되는 것을 막기 위해 depth bound을 사용한다. depth bound에 도달할 때까지 목표 노드가 발견되지 않으면 최근에 첨가된 노드의 부모 노드로 돌아와 부모 노드에..
Algorithm/Algorithms & Data Structure
2022. 7. 12. 16:08