벨만포드 알고리즘

2019. 10. 18. 20:09알고리즘/암기

최단거리 알고리즘 중 하나

1. 하나의 정점에서 다른 정점까지의 최단거리를 알 수 있다

2. 최단경로는 d(s, u) = min(d(s, u), d(s, u) + w(u, v))로 지속적으로 검사하게 된다

3. 정점과 정점사이의 최단거리 정점은 최대 V-2개만 허용하고 이를 잇는 최단거리 간선또한 V-1만 허용하게 된다. 따라서 두 정점 사이의 최대 V-1개의 간선을 조사해야므로 시간복잡도는 O(VE)가 된다

 

쉽게 말해

V-2번에 도달한 정점에서 V-1번만에 도달해야하는 정점이 최단거리라면

V-1번만에 거리를 측정할 수 있는 정점은 그 전에는 계속 INF로 초기화 되어 있다

 

'알고리즘 > 암기' 카테고리의 다른 글

set 컨테이너  (0) 2019.10.23
fill 2차원 배열, vector 초기화  (0) 2019.10.19
수학적 귀납법으로 증명하기  (0) 2019.10.18
피보나치 수의 시간복잡도  (0) 2019.10.18
재귀 없이 트리 preorder 순회하기  (0) 2019.10.17