A Practical Shortest Path Algorithm with Linear Expected Time
Andrew V. Goldberg
We present an improvement of the multi-level bucket shortest path algorithm of Denardo and Fox  and justify this improvement, both theoretically and experimentally. We prove that if the input arc lengths come from a natural probability distribution, the new algorithm runs in linear average time while the original algorithm does not. We also describe an implementation of the new algorithm. Our experimental data suggests that the new algorithm is preferable to the original one in practice. Furthermore, for integral arc lengths that fit into a word of today's computers, the performance is close to that of breadth-first search, suggesting limitations on further practical improvements.