Abstract
This paper presents the k-d heap, an efficient data structure that implements a multi-dimensional priority queue. The basic form of the k-d heap uses no extra space, takes linear time to construct, and supports instant access to the items carrying the minimum key of any dimension, as well as logarithmic time insertion, deletion, and modification of any item in the queue. Moreover, it can be extended to a multi-dimensional double-ended mergeable priority queue, capable of efficiently supporting all the operations linked to priority queues. The k-d heap is very easily implemented, and has direct applications.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Atkinson, J. Sack, N. Santoro, T. Strothotte, “Min-Max Heaps and Generalized Priority Queues,” Comm. ACM, Vol. 29 (1986), 996–1000.
J. Bentley, “Multidimensional Binary Search Trees Used for Associative Searching,” Comm. ACM, Vol. 18 (1975), 509–517.
M. Brown, “Implementation and Analysis of Binomial Queue Algorithms,” SIAM J. Comput., Vol. 7 (1978), 298–319.
S. Carlsson, “The Deap— A Double-Ended Heap to Implement Double-Ended Priority Queues,” Inform. Process. Lett., Vol. 26 (1987), 33–36.
S. Carlsson, J. Munro, P. Poblete, “An Implicit Binomial Queue with Constant insertion time,” Proc. SWAT (1988).
J. Driscoll, H. Gabow, R. Shrairman, R. Tarjan, “Relaxed Heaps: An Alternative to Fibonacci Heaps with Applications to Parallel Computation,” Comm. ACM, Vol. 31 (1988), 1343–1354.
Y. Ding, M. Weiss, “The Relaxed Min-Max Heap: A Mergeable Double-Ended Priority Queue,” Acta Informatica, Vol.30 (1993), to appear.
Y. Ding, M. Weiss, “Efficient Implementations of Multi-dimensional Priority Queues,” School of Computer Science Technical Report, Florida International University, Feb. 1993.
R. Floyd, “Algorithm 245: Treesort,” Comm. ACM, Vol. 7 (1964), 701.
M. Fredman, R. Sedgewick, D. Sleator, R. Tarjan, “The Pairing Heap: A New Form of Self-Adjusting Heap,” Algorithmica, Vol. 1 (1986), 111–129.
M. Fredman, R. Tarjan, “Fibonacci Heaps and Their Uses in Improved Network Optimization Algorithms,” J. ACM, Vol. 34 (1987), 596–615.
G. Gambosi, E. Nardelli, M. Talamo, “A Pointer-free Data Structure for Merging Heaps and Min-Max Heaps,” Theoretical Computer Science, Vol. 84 (1991), 107–126.
A. Hasham, J. Sack, “Bounds for Min-Max Heaps,” BIT, Vol. 27 (1987), 315–323.
D. Knuth, The Art of Computer Programming, Vol. 3, Addison-Wesley, Reading, MA, 1973.
S. Olariu, C. Overstreet, Z. Wen, “A Mergeable Double-ended Priority Queue,” The Computer Journal, Vol. 34 (1991), 423–427.
J. Sack, T. Strothotte, “An Algorithm for Merging Heaps,” Acta Informatica, Vol. 22 (1985), 171–186.
D. Sleator, R. Tarjan, “Self-Adjusting Heaps,” SIAM J. Comput., Vol. 15 (1986), 52–69.
J. Vuillemin, “ A Data Structure for Manipulating Priority Queues,” Comm. ACM, Vol. 21 (1978), 309–315.
J. Williams, “Algorithm 232: Heapsort,” Comm. ACM, Vol. 7 (1964), 347–348.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ding, Y., Weiss, M.A. (1993). The K-D heap: An efficient multi-dimensional priority queue. In: Dehne, F., Sack, JR., Santoro, N., Whitesides, S. (eds) Algorithms and Data Structures. WADS 1993. Lecture Notes in Computer Science, vol 709. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57155-8_257
Download citation
DOI: https://doi.org/10.1007/3-540-57155-8_257
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57155-1
Online ISBN: 978-3-540-47918-5
eBook Packages: Springer Book Archive