Fast data structures for shortest path routing: a comparative evaluation

The execution time of Dijkstra's (1959) algorithm for shortest path routing strongly depends upon the underlying priority queue data structure used to store intermediate path costs for the graph during the algorithm's iterations. In particular, the efficiency is determined by how quickly the data structure can execute the operations of EXTRACT-MIN and DECREASE-KEY. Using Dijkstra's algorithm on graphs of various sizes and topologies, this paper compares the actual performance of the standard implicit binary heap with that of several proposed data structures: the binomial heap, relaxed heap, run relaxed heap, Fibonacci heap and splay tree. In particular, we compare the data structures' performance of the key operations, EXTRACT-MIN and DECREASE-KEY.

[1]  Jean Vuillemin,et al.  A data structure for manipulating priority queues , 1978, CACM.

[2]  Narsingh Deo,et al.  Shortest-path algorithms: Taxonomy and annotation , 1984, Networks.

[3]  Robert E. Tarjan,et al.  Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation , 1988, CACM.

[4]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987, JACM.

[5]  F. Glover,et al.  A computational analysis of alternative algorithms and labeling techniques for finding shortest path trees , 1979, Networks.

[6]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[7]  E. Palmer Graphical evolution: an introduction to the theory of random graphs , 1985 .

[8]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.

[9]  J. J. Garcia-Luna-Aceves,et al.  Distributed routing with labeled distances , 1992, [Proceedings] IEEE INFOCOM '92: The Conference on Computer Communications.

[10]  Mark R. Brown,et al.  Implementation and Analysis of Binomial Queue Algorithms , 1978, SIAM J. Comput..

[11]  Douglas W. Jones,et al.  An empirical comparison of priority-queue and event-set implementations , 1986, CACM.

[12]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[13]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.