기술 블로그

다익스트라, 벨만포드, SPFA 본문

알고리즘/면접 및 공부

다익스트라, 벨만포드, SPFA

parkit 2020. 1. 28. 15:01
728x90
반응형

https://www.acmicpc.net/board/view/40701#post







[벨만 포드]

1. 어떤 노드를 방문했는지 따지지 않음.

2. 모든 정점을 방문해서 거리를 갱신해야되기 때문임.

3. dist[here] != INF 조건은 필요함.(시작점에서 here까지의 길이 없고, 시작점→here→next까지의 거리가 갱신되버리기 때문임)





[SPFA]

1. queue와 inQ 배열에는 시작점에서 here까지 길이 존재해야 queue에 here이 push 될 수 있기 때문에

dist[here] != INF 조건이 필요하지 않음.

2. 기본 원리는 벨만 포드이기 때문에 방문 했는지 안 했는지는 중요 하지 않음.

3. 벨만 포드와 마찬가지로 작은 값이 들어올 수 있기 때문에 계속 갱신해야 됨.





[다익스트라]

1. 이미 갱신된 정점에 대해서는 출발점에서 그 노드까지의 최소 비용이 보장된 상태이기

때문에 방문 처리를 해야함.















728x90
반응형