Volume 83, Number 4, 193-204, DOI: 10.1007/s00607-008-0019-2Open Access

Two new methods for constructing double-ended priority queues from priority queues

Amr Elmasry, Claus Jensen and Jyrki Katajainen

View Related Documents

Abstract

We introduce two data-structural transformations to construct double-ended priority queues from priority queues. To apply our transformations the priority queues exploited must support the extraction of an unspecified element, in addition to the standard priority-queue operations. With the first transformation we obtain a double-ended priority queue which guarantees the worst-case cost of O(1) for find-min, find-max, insert, extract; and the worst-case cost of O(lg n) with at most lg nO(1) element comparisons for delete. With the second transformation we get a meldable double-ended priority queue which guarantees the worst-case cost of O(1) for find-min, find-max, insert, extract; the worst-case cost of O(lg n) with at most lg nO(lg lg n) element comparisons for delete; and the worst-case cost of O(min {lg m, lg n}) for meld. Here, m and n denote the number of elements stored in the data structures prior to the operation in question.

Keywords  Data structures - Priority queues - Double-ended priority queues - Min-max priority queues - Priority deques - Meticulous analysis - Comparison complexity

Mathematics Subject Classification (2000)  68P05 - 68P10 - 68W40 - 68Q25


The work of the authors was partially supported by the Danish Natural Science Research Council under contracts 21-02-0501 (project Practical data structures and algorithms) and 272-05-0272 (project Generic programming—algorithms and tools). A. Elmasry was supported by Alexander von Humboldt fellowship.

Fulltext Preview

Image of the first page of the fulltext document