## Priority Queues and Dijkstra’s Algorithm (2007)

Citations: | 1 - 0 self |

### BibTeX

@MISC{Chen07priorityqueues,

author = {Mo Chen and Rezaul Alam Chowdhury and Vijaya Ramachandran and David Lan Roche and Lingling Tong},

title = {Priority Queues and Dijkstra’s Algorithm },

year = {2007}

}

### OpenURL

### Abstract

We study the impact of using different priority queues in the performance of Dijkstra’s SSSP algorithm. We consider only general priority queues that can handle any type of keys (integer, floating point, etc.); the only exception is that we use as a benchmark the DIMACS Challenge SSSP code [1] which can handle only integer values for distances. Our experiments were focussed on the following: 1. We study the performance of two variants of Dijkstra’s algorithm: the well-known version that uses a priority queue that supports the Decrease-Key operation, and another that uses a basic priority queue that supports only Insert and Delete-Min. For the latter type of priority queue we include several for which high-performance code is available such as bottom-up binary heap, aligned 4-ary heap, and sequence heap [33]. 2. We study the performance of Dijkstra’s algorithm designed for flat memory relative to versions that try to be cache-efficient. For this, in main part, we study the difference in performance of Dijkstra’s algorithm relative to the cache-efficiency of the priority queue used, both in-core and out-of-core. We also study the performance of an implementation