main page  —  CS 650 Advanced Data Structures

Unit 3: Efficient Priority Queues

This unit covers:

  • Tournament trees
  • LP heaps
  • Quake heaps

Material

Further sources

The tournament tree presentation is my own; a clever loser-tree implementation for use in merging is described in

  • Knuth, The Art of Computer Programming, Volume 3: Sorting and Searching (1998)

LP Heaps are from our paper

Quake heaps follow the original paper by Chan (with constants in the potential function fixed, and the gap of how to do meld in O(1) time plugged by Tamio-Vesa Nakajima).

A rather clean implementation of quake heaps can be found here:

The short summary of Fibonacci heaps is based on the following slides


Unit 2  ⋅  Syllabus  ⋅  Unit 4