Relaxed weak queues: An alternative to run-relaxed heaps
Authors:Amr Elmasry, Claus Jensen, and Jyrki Katajainen
Publication:CPH STL Report 2005-2, Department of Computer Science, University of Copenhagen (2005), 23 pp.
Full text:<pdf.gif>PDF (211 kB)  <ps.gif>PS (468 kB)  
Abstract:

A simplification of a run-relaxed heap, called a relaxed weak queue, is presented. This new priority-queue implementation supports all operations as efficiently as the original: find-min, insert, and decrease (also called decrease-key) in O(1) worst-case time, and delete in O(lg n) worst-case time, n denoting the number of elements stored prior to the operation. These time bounds are valid on a pointer machine as well as on a random-access machine. A relaxed weak queue is a collection of at most ⌊ lg n ⌋ + 1 perfect weak heaps, where there are in total at most ⌊ lg n ⌋ + 1 nodes that may violate weak-heap order. In a pointer-based representation of a perfect weak heap, which is a binary tree, it is enough to use two pointers per node to record parent-child relationships. Due to decrease, each node must store one additional pointer. The auxiliary data structures maintained to keep track of perfect weak heaps and potential violation nodes only require O(lg n) words of storage. That is, excluding the space used by the elements themselves, the total space usage of a relaxed weak queue can be as low as 3 n + O(lg n) words.

Related:<html.gif>HTML (Slides)  <html.gif>HTML (Later version)  
BibLATEX:
@report{EJK2005aR,
  author = {Amr Elmasry and Claus Jensen and Jyrki Katajainen},
  title = {Relaxed weak queues: {A}n alternative to run-relaxed heaps},
  type = {CPH STL Report},
  number = {2005-2},
  institution = {Department of Computer Science, University of Copenhagen},
  year = {2005},
  pagetotal = {23},
}
This page was generated by Jyrki Katajainen <jyrki@di.ku.dk> on 31.12.2011.