Download presentation
Presentation is loading. Please wait.
Published bySheila Dennis Modified over 8 years ago
1
(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty
2
2 Program Ian Munro : A Constant Time Priority Queue Gerth Brodal : A Constant Time Priority Queue
3
Priority Queue InsertExtractMin 2 14 66 5 7 42 FindMin Delete DecreaseKey Meld ExtractMax (double-ended priority queue) 3
4
4 Communications of the ACM (1962) 4276613 7 7 1 2 3 4567,4,5,6,7,5,7 7,5 13,742,47,566,613,7 1234567 13 42
5
5 Communications of the ACM (1964)
6
123456 Heap 6 36642 57 2 25736642 Simple Implicit – single array of size n Insert and ExtractMin O(log n) Willliams (1964) Construction O(n) Floyd(1964) Insert (loglog n) comparisons Gonnet, Munro (1986) Select k smallest in O(k) time Frederickson (1993)
7
Comparison Lower Bound n x Insert + n x ExtractMin Sorting 7 Insert or ExtractMin (log n) comparisons Comparisons InsertExtractMin HeapO(log n) Binary searchO(log n)0 Carlsson, Munro, Poblette (1988)O(1)O(log n)
8
Priority Queues Directions of Research 8 Comparisons vs Bit-tricks Single processor vs Parallel RAM vs Hierarchical memory Implicit vs Space wasting Insert- ExtractMin vs DecreaseKey, Meld,… Weak vs Strong O vs Constants Simplicity vs Let’s-do-something- complicated Worst-case vs Amortized Theory vs Implementation Aware vs Oblivious
9
Open Problem 9 Strongly implicit priority queue worst-case O(1) Insert and O(log n) ExtractMin supporting identical elements O(1) swaps per operation and cache oblivious optimal ? Can only store n + array between operations
10
Insert ExtractMin Implicit Swaps Identical elements Cache oblivious Heapslog n Stronglog nYes Carlsson, Munro, Poblette (1988) 1log nWeaklog nYes Arge, Bender, Demaine, Holland- Minkley, Munro (2002) log n Yes Munro, Franceschini (2006) log n Strong 11 Harvey, Zatloukal (2004) 11 log n Stronglog nYes Brodal, Nielsen, Truelsen (2013) 1log nStronglog n Open1xx1xx log n x Strong1x1x Yes x (Some Random) Results 10 amortized bounds Implicit dictionary O( n) Munro, Suwanda (1980) O(log 2 n) Munro (1986) O(log 2 n/loglog n) Franceschini, Grossi, Munro, Pagli (2004)
11
Some Observations 11 4266 42 Bit = 1 Bit = 0 66 ??? Pair encoding: Munro (1986) 2log n elements can encode a pointer O(log n) time allows pointer manipulations Strict implicit + O(1) insertions Insertions ”close to oblivious”
12
Strict Implicit Priority Queue O(1) Insert and O(log n) ExtractMin 12 Forest, trees powers-of-2 Looser trees Pair-encode bits at nodes Insertions balance using LSB(n) …work in progress Brodal, Nielsen, Truelsen (2013)
13
Insert ExtractMin Implicit Swaps Identical elements Cache oblivious Heapslog n Stronglog nYes Carlsson, Munro, Poblette (1988) 1log nWeaklog nYes Arge, Bender, Demaine, Holland- Minkley, Munro (2002) log n Yes Munro, Franceschini (2006) log n Strong 11 Harvey, Zatloukal (2004) 11 log n Stronglog nYes Brodal, Nielsen, Truelsen (2013) 1log nStronglog n Open1xx1xx log n x Strong1x1x Yes x (Some Random) Results 13 amortized bounds Implicit dictionary O( n) Munro, Suwanda (1980) O(log 2 n) Munro (1986) O(log 2 n/loglog n) Franceschini, Grossi, Munro, Pagli(2004)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.