Algorithm

Maintain array of buckets indexed by distance. Push vertex into bucket[dist]. Scan buckets in order for next-min.

Advertisement

Complexity

O(E + V × C). Wins over Dijkstra when C is small.

Advertisement

Memory

Buckets need up to O(V × C) space. Prohibitive for large weights.

Radix heap variant

Multi-level buckets: hierarchical binning. O(E + V log C).