Abstract
An external memory version of soft heap that we call “External Memory Soft Heap” (EMSH) is presented. It supports Insert, Findmin, Deletemin and Meld operations and as in soft heap, it guarantees that the number of corrupt elements in it is never more than εN, where N is the total number of items inserted in it, and ε is a parameter of it called the error-rate. For \(N = O(B m^{M/2(B + \sqrt{m})})\), the amortised I/O complexity of an Insert is \(O(\frac{1}{B} \log_{m}\frac{1}{\epsilon})\), where M is the size of the main memory, B is the size of a disk block and m = M/B. Findmin, Deletemin and Meld all have non-positive amortised I/O complexities.
When we choose an error rate ε < 1/N, EMSH stays devoid of corrupt nodes, and thus becomes a meldable priority queue that we call “hard heap”. The amortised I/O complexity of an Insert, in this case, is \(O(\frac{1}{B} \log_{m}\frac{N}{B})\), over a sequence of operations involving N Inserts. Findmin, Deletemin and Meld all have non-positive amortised I/O complexities. If the inserted keys are all unique, a Delete (by key) operation can also be performed at an amortised I/O complexity of \(O(\frac{1}{B} \log_{m}\frac{N}{B})\). A balancing operation performed at appropriate intervals on a hard heap ensures that the number of I/Os performed by a sequence of S operations on it is \(O(\frac{S}{B}+\frac{1}{B}\sum_{i = 1}^{S} \log_{m}\frac{N_i}{B})\), where N i is the number of elements in the heap before the ith operation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1998)
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The design and analysis of computer algorithms, Massachusetts, Addison-Wesley (1974)
Arge, L.: The buffer tree: A technique for designing batched external data structures. Algorithmica 37(1), 1–24 (2003)
Arge, L., Revsbaek, M., Zeh, N.: I/O-efficient computation of water flow across a terrain. In: Proc. 26th ACM Symposium on Computational Geometry, pp. 403–412 (2010)
Chazelle, B.: The soft heap: an approximate priority queue with optimal error rate. Journal of the ACM 47(6), 1012–1027 (2000)
Chazelle, B.: A minimum spanning tree algorithm with inverse-Ackermann type complexity. Journal of the ACM 47(6), 1028–1047 (2000)
Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press, Cambridge (1990)
Fadel, R., Jakobsen, K.V., Katajainen, J., Teuhola, J.: Heaps and heapsort on secondary storage. Theoretical Computer Science 220, 345–362 (1999)
Kaplan, H., Zwick, U.: A simpler implementation and analysis of Chazelle’s soft heaps. In: Proc. 20th ACM -SIAM Symposium on Discrete Algorithms, pp. 477–485 (2009)
Kumar, V., Schwabe, E.: Improved algorithms and data structures for solving graph problems in external memory. In: Proc. 8th IEEE Symp. on Parallel and Distributed Processing, pp. 169–177 (1996)
Meyer, U., Zeh, N.: I/O-Efficient Undirected Shortest Paths. In: Di Battista, G., Zwick, U. (eds.) ESA 2003. LNCS, vol. 2832, pp. 434–445. Springer, Heidelberg (2003)
Mungala, K., Ranade, A.: I/O-complexity of graph algorithms. In: Proc. 10th ACM-SIAM Symposium on Discrete Algorithms, pp. 687–694 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bhushan, A., Gopalan, S. (2012). External Memory Soft Heap, and Hard Heap, a Meldable Priority Queue. In: Gudmundsson, J., Mestre, J., Viglas, T. (eds) Computing and Combinatorics. COCOON 2012. Lecture Notes in Computer Science, vol 7434. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32241-9_31
Download citation
DOI: https://doi.org/10.1007/978-3-642-32241-9_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32240-2
Online ISBN: 978-3-642-32241-9
eBook Packages: Computer ScienceComputer Science (R0)