그래프? : 여러 개체들이 연결되어 있는 자료구조
탐색? : 특정 개체를 찾기 위한 알고리즘 --> 그래프 탐색 알고리즘
ex1. 경로탐색 유형 (최단거리, 시간)
ex2. 네트워크 유형 (연결)
ex3. 조합 유형 (모든 조합 만들기)
- DFS: 한놈만 끝까지 패는 유형 --> 재귀함수가 가장 일반적
- BFS: 여러놈을 한대씩 때려가면서 하는 유형 --> Queue, LinkedList 일반적
1) 가장 먼저 넣었던 것을 꺼내서
2) 연결된 점을 Queue에 넣기
3) Queue가 빌때까지 반복
** DFS vs BFS? : DFS를 조금더 선호! (but 단점 : 시간이 초과될 수 있음! )
--> DFS & BFS 모두 구현해보는것 추천!
(쉬운문제 --> 빠르게 DFS, 어려운문제 --> BFS로 구현)