Abstract
We introduce the hollow heap, a very simple data structure with the same amortized efficiency as the classical Fibonacci heap. All heap operations except delete and delete-min take O(1) time, worst case as well as amortized; delete and delete-min take O(log n) amortized time on a heap of n items. Hollow heaps are the simplest structure to achieve these bounds. Hollow heaps combine two novel ideas: the use of lazy deletion and re-insertion to do decrease-key operations and the use of a dag (directed acyclic graph) instead of a tree or set of trees to represent a heap. Lazy deletion produces hollow nodes (nodes without items), giving the data structure its name.
- G. S. Brodal. 1996. Worst-case efficient priority queues. In Proceedings of the 7th ACM-SIAM Symposium on Discrete Algorithms (SODA’96). 52--58.Google Scholar
- G. S. Brodal, G. Lagogiannis, and R. E. Tarjan. 2012. Strict fibonacci heaps. In Proceedings of the 44th ACM Symposium on Theory of Computing (STOC’12). 1177--1184. Google ScholarDigital Library
- M. R. Brown. 1978. Implementation and analysis of binomial queue algorithms. SIAM J. Comput. 7, 3 (1978), 298--319. Google ScholarCross Ref
- T. M. Chan. 2013. Quake heaps: A simple alternative to fibonacci heaps. In Space-Efficient Data Structures, Streams, and Algorithms. 27--32. Google ScholarCross Ref
- E. W. Dijkstra. 1959. A note on two problems in connexion with graphs. Numer. Math. 1 (1959), 269--271. Google ScholarDigital Library
- J. R. Driscoll, H. N. Gabow, R. Shrairman, and R. E. Tarjan. 1988. Relaxed heaps: An alternative to fibonacci heaps with applications to parallel computation. C. ACM 31, 11 (1988), 1343--1354. Google ScholarDigital Library
- J. Edmonds. 1967. Optimum branchings. J. Res. Nat. Bur. Stand. 71B (1967), 233--240. Google ScholarCross Ref
- A. Elmasry. 2010. The violation heap: A relaxed fibonacci-like heap. Discrete Math., Alg. Appl. 2, 4 (2010), 493--504.Google ScholarCross Ref
- M. L Fredman. 1999. On the efficiency of pairing heaps and related data structures. J. ACM 46, 4 (1999), 473--501. Google ScholarDigital Library
- M. L. Fredman and R. E. Tarjan. 1987. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34, 3 (1987), 596--615. Google ScholarDigital Library
- H. N. Gabow, Z. Galil, T. H. Spencer, and R. E. Tarjan. 1986. Efficient algorithms for finding minimum spanning trees in undirected and directed graphs. Combinatorica 6 (1986), 109--122. Google ScholarDigital Library
- B. Haeupler, S. Sen, and R. E. Tarjan. 2011. Rank-pairing heaps. SIAM J. Comput. 40, 6 (2011), 1463--1485. Google ScholarDigital Library
- P. Høyer. 1995. A general technique for implementation of efficient priority queues. In Proceedings of the 3rd Israeli Symposium on the Theory of Computing and Systems (ISTCS’95). 57--66. Google ScholarCross Ref
- J. Iacono and Ö. Özkan. 2014. Why some heaps support constant-amortized-time decrease-key operations, and others do not. In Proceedings of the 41st International Colloquium on Automata, Languages and Programming (ICALP’14). 637--649. Google ScholarCross Ref
- H. Kaplan, N. Shafrir, and R. E. Tarjan. 2002. Meldable heaps and boolean union-find. In Proceedings of the 34th ACM Symposium on Theory of Computing (STOC’02). 573--582. Google ScholarDigital Library
- H. Kaplan and R. E. Tarjan. 2008. Thin heaps, thick heaps. ACM Trans. Alg. 4, 1 (2008), 1--14. Google ScholarDigital Library
- H. Kaplan, R. E. Tarjan, and U. Zwick. 2014. Fibonacci heaps revisited. CoRR abs/1407.5750 (2014). http://arxiv.org/abs/1407.5750Google Scholar
- D. E. Knuth. 1998. Sorting and Searching (2nd ed.). The art of computer programming, Vol. 3. Addison-Wesley.Google ScholarDigital Library
- G. L. Peterson. 1987. A Balanced Tree Scheme for Meldable Heaps with Updates. Technical Report GIT-ICS-87-23. School of Informatics and Computer Science, Georgia Institute of Technology, Atlanta, GA.Google Scholar
- R. C. Prim. 1957. Shortest connection networks and some generalizations. Bell Syst. Tech. J. 36 (1957), 1389--1401. Google ScholarCross Ref
- T. Takaoka. 2003. Theory of 2-3 heaps. Discr. Appl. Math. 126, 1 (2003), 115--128. Google ScholarDigital Library
- R. E. Tarjan. 1983. Data Structures and Network Algorithms. SIAM. Google ScholarCross Ref
- R. E. Tarjan. 1985. Amortized computational complexity. SIAM J. Algebr. Discr. Methods 6 (1985), 306--318. Google ScholarCross Ref
- J. Vuillemin. 1978. A data structure for manipulating priority queues. C. ACM 21 (1978), 309--314. Google ScholarDigital Library
Index Terms
- Hollow Heaps
Recommendations
Toward Optimal Self-Adjusting Heaps
We give a variant of the pairing heaps that achieves the following amortized costs: O(1) per find-min and insert, O(log log n) per decrease-key and meld, O(log n) per delete-min; where n is the number of elements in the resulting heap on which the ...
Strict fibonacci heaps
STOC '12: Proceedings of the forty-fourth annual ACM symposium on Theory of computingWe present the first pointer-based heap implementation with time bounds matching those of Fibonacci heaps in the worst case. We support make-heap, insert, find-min, meld and decrease-key in worst-case O(1) time, and delete and delete-min in worst-case O(...
Soft Heaps Simplified
In 1998, Chazelle [J. ACM, 47 (2000), pp. 1012--1027] introduced a new kind of meldable heap (priority queue) called the soft heap. Soft heaps trade accuracy for speed: the heap operations are allowed to increase the keys of certain items, thereby making ...
Comments