데브코스 프론트엔드 5기/JavaScript 주요 문법
230927 [Day7] JavaScript 주요 문법 (6)
코딩하는 키티
2023. 9. 27. 17:35
자료구조&알고리즘 - BFS, DFS

BFS(너비 우선 탐색)
- 그래프 탐색 알고리즘으로 같은 깊이에 해당하는 정점부터 탐색하는 알고리즘
- BFS의 특징
- Queue를 이용하여 구현할 수 있다.
- 시작 지점에서 가까운 정점부터 탐색한다.
- 선의 수일 때 BFS의 시간복잡도는 O(V+E)다.
DFS(깊이 우선 탐색)
- 그래프 탐색 알고리즘으로 최대한 깊은 정점부터 탐색하는 알고리즘
- DFS의 특징
- Stack을 이용하여 구현할 수 있다.
- 시작 정점에서 깊은 것부터 찾는다.
- V가 정점의 수, E가 간선의 수일 때 DFS의 시간복잡도는 O(V+E)다.
자료구조&알고리즘 - 그리디

- 자판기는 남은 금액을 어떻게 반환할까?
- 매 선택에서 지금 이순간 가장 최적인 답을 선택하는 알고리즘
- 최적해를 보장해주지 않음
- 그리디 알고리즘의 특징
- 보통 최적해를 구하는 알고리즘보다 빠른 경우가 많다.
- 크루스칼, 다익스트라 알고리즘 등에 사용된다.
- 직관적인 문제 풀이에 적합하다.