Selection in heaps and rowsorted matrices using soft






![Heaps vs. Soft Heaps [Chazelle ’ 00] [Kaplan-Tarjan-Zwick ’ 13] Fibonacci heaps (Hollow heaps) Heaps vs. Soft Heaps [Chazelle ’ 00] [Kaplan-Tarjan-Zwick ’ 13] Fibonacci heaps (Hollow heaps)](https://slidetodoc.com/presentation_image/345ab82bff839744016d4772f88d5960/image-7.jpg)











![Binary heaps with lists [Kaplan-Tarjan-Zwick ’ 13] Corrupt key of all items in the Binary heaps with lists [Kaplan-Tarjan-Zwick ’ 13] Corrupt key of all items in the](https://slidetodoc.com/presentation_image/345ab82bff839744016d4772f88d5960/image-19.jpg)
![Binary heaps with lists [Kaplan-Tarjan-Zwick ’ 13] Corrupt key of all items in the Binary heaps with lists [Kaplan-Tarjan-Zwick ’ 13] Corrupt key of all items in the](https://slidetodoc.com/presentation_image/345ab82bff839744016d4772f88d5960/image-20.jpg)
![Double even refill [Kaplan-Tarjan-Zwick ’ 13] Move list of smaller child to root 18 Double even refill [Kaplan-Tarjan-Zwick ’ 13] Move list of smaller child to root 18](https://slidetodoc.com/presentation_image/345ab82bff839744016d4772f88d5960/image-21.jpg)
![Double even refill [Kaplan-Tarjan-Zwick ’ 13] Recursively fill the child 18 1 12 2 Double even refill [Kaplan-Tarjan-Zwick ’ 13] Recursively fill the child 18 1 12 2](https://slidetodoc.com/presentation_image/345ab82bff839744016d4772f88d5960/image-22.jpg)
![Double even refill [Kaplan-Tarjan-Zwick ’ 13] 18 20 4 14 20 5 1 12 Double even refill [Kaplan-Tarjan-Zwick ’ 13] 18 20 4 14 20 5 1 12](https://slidetodoc.com/presentation_image/345ab82bff839744016d4772f88d5960/image-23.jpg)











- Slides: 34
Selection in heaps and row-sorted matrices using soft heaps Haim Kaplan László Kozma Or Zamir Uri Zwick (武熠) 清华大学交叉信息研究院 May 15, 2018
Generalized selection All algorithms in this talk are comparison-based. smaller Partial order larger
Generalized selection The generalized sorting problem is well understood. Information-theoretic lower bound is essentially tight. Information-theoretic lower bound for generalized selection may be extremely loose. (E. g. , finding the minimum) General answer for generalized selection is not known. Some interesting special cases were studied.
Some interesting selection problems Binary min-heap Collection of sorted lists Doubly sorted matrix Studied by [Frederickson-Johnson (1982)] [Frederickson (1993)] We give simpler and somewhat improved algorithms.
Selecting the �� -th smallest item in a heap 1 Already extracted 6 7 2 3 9 4 Currently in the heap 7 5 9 8 Not seen yet
7 9 15 11 25 10 16 14 17 12 19 21 23 22 30 Matching the information-theoretic lower bound.
Heaps vs. Soft Heaps [Chazelle ’ 00] [Kaplan-Tarjan-Zwick ’ 13] Fibonacci heaps (Hollow heaps) Soft Heaps Make-heap Insert Extract-min Meld All bounds are amortized. Soft heaps may increase keys of items. Items with increased keys are corrupt.
Previous applications of Soft Heaps An optimal deterministic algorithm for finding minimum spanning trees (with a yet unknown running time) [Pettie-Ramachandran ’ 02] New selection and approximate sorting algorithms [Chazelle ’ 00]
Deletions from a binary heap 7 9 15 11 25 10 16 14 17 12 19 21 23 22 30
Deletions from a binary heap 9 15 11 25 10 16 14 17 12 19 21 23 22 30
Deletions from a binary heap 15 11 25 10 16 14 17 12 19 21 23 22 30
Deletions from a binary heap 9 15 11 25 10 16 14 17 12 19 21 23 22 30
Deletions from a binary heap 9 15 11 25 17 16 14 12 19 21 23 22 30
Deletions from a binary heap 9 10 15 11 25 17 16 14 12 19 21 23 22 30
Deletions from a binary heap 9 10 15 11 25 17 16 14 19 21 23 22 30
Deletions from a binary heap 9 10 15 11 25 12 16 14 17 19 21 23 22 30
Deletions from a binary heap 9 10 15 11 25 12 16 14 17 19 21 23 22 30
Deletions from a binary heap 9 10 15 11 25 12 16 14 17 19 21 23 22 30
Binary heaps with lists [Kaplan-Tarjan-Zwick ’ 13] Corrupt key of all items in the list Tree is heap ordered with respect to corrupt keys 18 22 40 40 Original keys 3 12 2 22 15 1 35 35 30 4 16 17 18 27 27 8 30 45 Each node has a list of items. (Most) items in lists of length>1 are corrupt. 45
Binary heaps with lists [Kaplan-Tarjan-Zwick ’ 13] Corrupt key of all items in the list Tree is heap ordered with respect to corrupt keys 18 22 40 40 3 12 2 22 15 1 35 35 30 4 16 17 18 27 27 8 30 45 45 Deleting an item of smallest corrupt key is easy. Until the list at the root becomes empty…
Double even refill [Kaplan-Tarjan-Zwick ’ 13] Move list of smaller child to root 18 1 12 2 4 16 17 18 56 44 10 45 56
Double even refill [Kaplan-Tarjan-Zwick ’ 13] Recursively fill the child 18 1 12 2 4 16 17 18 56 44 10 45 56
Double even refill [Kaplan-Tarjan-Zwick ’ 13] 18 20 4 14 20 5 1 12 2 4 16 17 18 56 44 10 45 56 Moving lists takes a constant time.
Controlling corruption Corrupt items uncorrupt items Number of corrupt items:
Soft Heaps – assumptions Insert and Meld do not corrupt items. All corruptions are caused by Extract-min, after extraction. Extract-min returns a list of newly corrupted items. Item with smallest (corrupt) key, extracted from the heap.
Selection from a heap using a soft heap Run the naïve algorithm using a soft heap. When an item is extracted, insert its children, and the children of all items corrupted by the extraction, into the soft heap.
Selection from a heap using a soft heap Proof of Claim 1 Corrupt items Barrier The item extracted at each iteration is smaller or equal to the smallest item on the barrier. (We rely on the assumption that corruption occurs only after extractions. )
Selection from a binary heap Proof of Claim 2 Simple!
Row-sorted matrices New “output-sensitive” result:
Split each row into blocks of sizes 1, 2, 4, …
Concluding remarks Results for general partial orders? More applications of Soft Heaps? Thank you for your attention!