벨만-포드 알고리즘(Bellman-Ford Algorithm)
·
Computer Science/Algorithm
벨만-포드 알고리즘이란?벨만-포드 알고리즘(Bellman-Ford Algorithm)은 그래프에서 한 정점에서 다른 모든 정점까지의 최단 경로/최소 비용를 찾는 알고리즘이다.다익스트라 알고리즘과 차별되는 점은 음수 가중치를 처리할 수 있다는 점과 음수 사이클을 탐지할 수 있다는 점이다.때문에, 음수 가중치가 포함된 그래프에서 유용하게 사용된다. 동작 원리벨만-포드 알고리즘은 크게 세가지의 과정을 거친다.1. 초기화시작 정점에서 다른 모든 정점까지의 거리를 무한대로 설정한다.시작 정점의 거리를 0으로 설정한다. 2. 간선 반복모든 간선에 대해 그 간선을 따라 가는 거리가 기존에 기록된 거리보다 짧으면, 해당 거리를 업데이트 한다.이 과정을 그래프에 있는 `정점의 수 - 1`번 반복한다.왜냐하면, 최단 ..