Chazelle (JACM 47(6), 2000) devised an approximate meldable priority queue data structure, called Soft Heaps, and used it to obtain the fastest known deterministic comparison-based algorithm for computing minimum spanning trees, as well as some new algorithms for selection and approximate sorting problems. If n elements are inserted into a collection of soft heaps, then up to en of the elements still contained in these heaps, for a given error parameter e, may be corrupted, i.e., have their keys artificially increased. In exchange for allowing these corruptions, each soft heap operation is performed in O(log 1/e) amortized time.
Chazelle's soft heaps are derived from the binomial heaps data structure in which each priority queue is composed of a collection of binomial trees. We describe a simpler and more direct implementation of soft heaps in which each priority queue is composed of a collection of standard binary trees. Our implementation has the advantage that no clean-up operations similar to the ones used in Chazelle's implementation are required. We also present a concise and unified potential-based amortized analysis of the new implementation.
[1]
Jean Vuillemin,et al.
A data structure for manipulating priority queues
,
1978,
CACM.
[2]
Manuel Blum,et al.
Time Bounds for Selection
,
1973,
J. Comput. Syst. Sci..
[3]
Uri Zwick,et al.
Median Selection Requires (2+epsilon)n Comparisons
,
2001,
SIAM J. Discret. Math..
[4]
Uri Zwick,et al.
Selecting the median
,
1995,
SODA '95.
[5]
Arnold Schönhage,et al.
Finding the Median
,
1976,
J. Comput. Syst. Sci..
[6]
Seth Pettie,et al.
Randomized minimum spanning tree algorithms using exponentially fewer random bits
,
2008,
TALG.
[7]
Bernard Chazelle,et al.
The soft heap: an approximate priority queue with optimal error rate
,
2000,
JACM.
[8]
Bernard Chazelle,et al.
The discrepancy method - randomness and complexity
,
2000
.
[9]
Bernard Chazelle,et al.
A minimum spanning tree algorithm with inverse-Ackermann type complexity
,
2000,
JACM.
[10]
Seth Pettie,et al.
An optimal minimum spanning tree algorithm
,
2000,
JACM.