Bellman-Ford
Bellman-Ford computes single-source shortest paths and supports negative edge weights. It repeatedly relaxes every edge V-1 times. A final additional pass can detect a reachable negative-weight cycle. It is slower than heap-based Dijkstra because it performs repeated scans of all edges rather than using a greedy priority-queue strategy.
Supports negative edge weights.
Can detect reachable negative cycles.
Time complexity: O(VE).
Space can be O(V) when distances are stored separately.
Dijkstra is generally faster when all weights are non-negative.