728x90
오늘은 다익스트라(dijkstra)와 BFS의 차이점을 공부하겠습니다.
다익스트라 vs BFS
둘다 그래프 탐색 알고리즘 입니다. 두개의 차이점은 다음과 같습니다.
정점 V 간선 E
비교 | 다익스트라 | BFS |
사용 이유 | 가중치가 있는 그래프 탐색 | 가중치가 없는 그래프 탐색 |
시간 복잡도 | O(VlogE) | O(VlogE) |
탐색 방법 | 간선이 음수가 아닌 탐색 최단 거리 탐색(가중치 비용이 있음) | 너비 탐색을 하여 최단 거리 탐색(가중치 비용이 없음) |
위와 같은 그림일 경우 BFS로 2번까지의 최단거리를 구할경우 0->(1,2)->3으로 BFS는 탐색하므로 매우 부적합
다익스트라는 0->1->3->2가 가능
'개발자 면접 공부 > C-C++' 카테고리의 다른 글
C++ 객체지향 언어 4가지 특징 (0) | 2022.09.01 |
---|---|
A* 알고리즘 (0) | 2022.08.24 |
C++ RAII (0) | 2022.08.11 |
업 캐스팅 다운 캐스팅 (0) | 2022.08.08 |
싱글톤 패턴(SingletonPattern) (0) | 2022.08.04 |