Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

The soft heap: an approximate priority queue with optimal error rate

Published: 01 November 2000 Publication History
  • Get Citation Alerts
  • Abstract

    A simple variant of a priority queue, called a soft heap, is introduced. The data structure supports the usual operations: insert, delete, meld, and findmin. Its novelty is to beat the logarithmic bound on the complexity of a heap in a comparison-based model. To break this information-theoretic barrier, the entropy of the data structure is reduced by artifically raising the values of certain keys. Given any mixed sequence of n operations, a soft heap with error rate ε (for any 0 < ε ≤ 1/2) ensures that, at any time, at most εn of its items have their keys raised. The amortized complexity of each operation is constant, except for insert, which takes 0(log 1/ε)time. The soft heap is optimal for any value of ε in a comparison-based model. The data structure is purely pointer-based. No arrays are move items across the data structure not individually, as is customary, but in groups, in a data-structuring equivalent of “car pooling.” Keys must be raised as a result, in order to preserve the heap ordering of the data structure. The soft heap can be used to compute exact or approximate medians and percentiles optimally. It is also useful for approximate sorting and for computing minimum spanning trees of general graphs.

    References

    [1]
    BLUM, M., FLOYD, R. W., PRATT, V., RIVEST, R. L., AND TARJAN, R. E. 1973. Time bounds for selection. J. Comput. Syst. Sci. 7, 448-461.
    [2]
    CHAZELLE, B. 2000. A minimum spanning tree algorithm with inverse-Ackermann type complexity. J. ACM 47, 6 (Nov.), 000-000.
    [3]
    FREDMAN, M. L., AND TARJAN, R. E. 1987. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34, 596-615.
    [4]
    HOFFMAN, K., MEHLHORN, K., ROSENSTIEHL, P., AND TARJAN, R. E. 1986. Sorting Jordan sequences in linear time using level-linked search trees. Inf. Cont. 68, 170-184.
    [5]
    VUILLEMIN, J. 1978. A data structure for manipulating priority queues. Commun. ACM 21, 309-315.

    Cited By

    View all
    • (2023)BAR: Blockwise Adaptive Recoding for Batched Network CodingEntropy10.3390/e2507105425:7(1054)Online publication date: 13-Jul-2023
    • (2022)Greedy Algorithm and Spanning TreeIntroduction to Combinatorial Optimization10.1007/978-3-031-10596-8_4(75-96)Online publication date: 6-Jul-2022
    • (2021) Optimally selecting the top k values from X + Y with layer-ordered heaps PeerJ Computer Science10.7717/peerj-cs.5017(e501)Online publication date: 6-May-2021
    • Show More Cited By

    Recommendations

    Reviews

    Susan M. Merritt

    This paper describes a simple variant of a priority queue, an approximate priority queue, called a soft heap. The soft heap supports the operations: create, insert, delete, meld, and findmin. The authors show that the complexity of a soft heap is better than the logarithmic bound of a heap in a comparison-based model. The soft heap is implemented with pointers, with no arrays and no assumptions about the keys. The soft heap may increase the value of certain keys, which are then referred to as corrupted. Corruption is done by the data structure and the user has no control over it. Findmin, for example, finds the current minimum, which may or may not be corrupted. The benefit of the approach is speed: during heap operations items travel together in something akin to "carpooling" to save time. The authors prove that the soft heap has optimal time bonds in a comparison-based model. They indicate that the soft heap was designed specifically for computing minimum spanning trees; it is a key part of the current fastest deterministic algorithm. They show that soft heaps support dynamic maintenance of percentages in constant amortized time. They explain how soft heaps offer an alternative method for computing medians in linear time. They demonstrate that soft heaps can also do two kinds of approximate sorting. The paper is very well written. The authors describe in detail the soft heap data structure, which is a binomial tree with subtrees possibly missing. They include the actual C code for implementing a soft heap. The set of references is apparently complete. The paper is a good exposition of a very interesting and ingenious data structure and its applications. It is accessible to those who know some computer science.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image Journal of the ACM
    Journal of the ACM  Volume 47, Issue 6
    Nov. 2000
    128 pages
    ISSN:0004-5411
    EISSN:1557-735X
    DOI:10.1145/355541
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 November 2000
    Published in JACM Volume 47, Issue 6

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. amoritization
    2. heap
    3. priority queue
    4. soft heap

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)161
    • Downloads (Last 6 weeks)16
    Reflects downloads up to 26 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)BAR: Blockwise Adaptive Recoding for Batched Network CodingEntropy10.3390/e2507105425:7(1054)Online publication date: 13-Jul-2023
    • (2022)Greedy Algorithm and Spanning TreeIntroduction to Combinatorial Optimization10.1007/978-3-031-10596-8_4(75-96)Online publication date: 6-Jul-2022
    • (2021) Optimally selecting the top k values from X + Y with layer-ordered heaps PeerJ Computer Science10.7717/peerj-cs.5017(e501)Online publication date: 6-May-2021
    • (2021) Selection on X 1  +  X 2  + ⋯ +  X m via Cartesian product trees PeerJ Computer Science10.7717/peerj-cs.4837(e483)Online publication date: 28-Apr-2021
    • (2021)Visual solution to minimum spanning tree problem based on DNA origamiMaterials Express10.1166/mex.2021.208111:10(1700-1706)Online publication date: 1-Oct-2021
    • (2020) Fast Exact Computation of the k Most Abundant Isotope Peaks with Layer-Ordered Heaps Analytical Chemistry10.1021/acs.analchem.0c0167092:15(10613-10619)Online publication date: 14-Jul-2020
    • (2019)EiffelProceedings of the 16th USENIX Conference on Networked Systems Design and Implementation10.5555/3323234.3323237(17-31)Online publication date: 26-Feb-2019
    • (2019)A Selectable Sloppy HeapAlgorithms10.3390/a1203005812:3(58)Online publication date: 6-Mar-2019
    • (2019)k-Maximum Subarrays for Small k: Divide-and-Conquer Made SimplerAnalysis of Experimental Algorithms10.1007/978-3-030-34029-2_29(454-472)Online publication date: 14-Nov-2019
    • (2018)Accelerating Dijkstra's Algorithm Using Multiresolution Priority Queues2018 IEEE High Performance extreme Computing Conference (HPEC)10.1109/HPEC.2018.8547539(1-7)Online publication date: Oct-2018
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media