1022-TIL(크루스칼, 프림vs다익스트라,벨만)

그로밋·2023년 10월 22일
0

krafton jungle

목록 보기
10/58

백준 최소 스패닝 트리 문제를 보면서 대부분 사람들이 크루스칼 알고리즘을 사용하는 것을 봤다.
백준문제-최소 스패닝 트리

크루스칼, 프림 알고리즘은 최소신장트리(minimum spanning tree)를 만들고,
다익스트라, 벨만포드 알고리즘은 최단거리를 구하는 알고리즘이다.

크루스칼vs프림 비교 표

다익스트라vs벨만포드 비교 표

비교 항목다익스트라 알고리즘벨만-포드 알고리즘
작동 방식그리디 알고리즘동적 계획법
음수 가중치 간선 지원음수 가중치 간선을 지원하지 않음음수 가중치 간선을 처리 가능
최적 부분 경로 구하기루트 노드에서부터 각 노드까지의 최단 경로를 계산루트 노드에서부터 모든 노드까지의 최단 경로를 계산
음수 가중치 사이클 감지음수 가중치 사이클이 없을 때만 동작함음수 가중치 사이클을 감지하고 처리함
시간 복잡도O(V^2) 또는 O(E log V) (배열 또는 힙을 사용)O(VE) (모든 간선을 순회)
공간 복잡도O(V) (거리 배열 및 힙 또는 배열 사용)O(V) (거리 배열 및 그래프 저장)
실시간 응용GPS 경로 탐색, 네트워크 라우팅에 적합음수 가중치 간선이 있는 네트워크 및 시간 감지 알고리즘에 적합
profile
Work as though your strength were limitless. <S. Bernhardt>

0개의 댓글