Presentation is loading. Please wait.

Presentation is loading. Please wait.

(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty.

Similar presentations


Presentation on theme: "(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty."— Presentation transcript:

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 11 Harvey, Zatloukal (2004) 11  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 11 Harvey, Zatloukal (2004) 11  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)


Download ppt "(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty."

Similar presentations


Ads by Google