We present a new data-structure for representing priority queues, the pagoda. A detailed analysis shows that the pagoda provides a very efficient implementation of priority queues, where our measure of efficiency is the average run time of the various algorithms. It handles an arbitrary sequence of n primitive operations chosen from MIN, INSERT, UNION, EXTRACT and EXTRACTMIN in time o(n log n). The constant factors affecting these asymptotic run time are small enough to make the pagoda competitive with any other priority queue, including structures which cannot handle UNION or EXTRACT. The given algorithms process an arbitrary sequence of n operations MIN, INSERT and EXTRACT in linear average time O(n), and a sequence of n INSERT in linear worst case time O(n).
[1]
Jean Françon.
Arbres Binaires de Recherche: Propriétés Combinatioires et Applications
,
1976,
RAIRO Theor. Informatics Appl..
[2]
Mark R. Brown.
The Analysis of a Practical and Nearly Optimal Priorty Queue
,
1977,
Outstanding Dissertations in the Computer Sciences.
[3]
Dominique Foata,et al.
Rearrangements of the symmetric group and enumerative properties of the tangent and secant numbers
,
1974
.
[4]
Jean Vuillemin,et al.
A data structure for manipulating priority queues
,
1978,
CACM.
[5]
D. Foata.
CHAPTER 16 – Nombres d'Euler et Permutations Alternantes
,
1973
.