Closing a Classical Data Structure Problem Gerth Stølting Brodal

Slides:



Advertisements
Similar presentations
Priority Queues  MakeQueuecreate new empty queue  Insert(Q,k,p)insert key k with priority p  Delete(Q,k)delete key k (given a pointer)  DeleteMin(Q)delete.
Advertisements

Advanced Data structure
Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA
1 Greedy 2 Jose Rolim University of Geneva. Algorithmique Greedy 2Jose Rolim2 Examples Greedy  Minimum Spanning Trees  Shortest Paths Dijkstra.
Rank-Pairing Heaps Bernhard Haeupler, Siddhartha Sen, and Robert Tarjan, ESA
Dijkstra/Prim 1 make-heap |V| insert |V| delete-min |E| decrease-key Priority Queues make-heap Operation insert find-min delete-min union decrease-key.
Fibonacci Heaps. Single Source All Destinations Shortest Paths
Source: Muangsin / Weiss1 Priority Queue (Heap) A kind of queue Dequeue gets element with the highest priority Priority is based on a comparable value.
Prim’s Algorithm and an MST Speed-Up
Binomial Heaps Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University.
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne Fibonacci Heaps These lecture slides are adapted from CLRS, Chapter 20.
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne Binary and Binomial Heaps These lecture slides are adapted from CLRS, Chapters.
Minimum Spanning Trees
1 Binomial heaps, Fibonacci heaps, and applications.
Strict Fibonacci Heaps Gerth Stølting Brodal Aarhus University George Lagogiannis Robert Endre Tarjan Agricultural University of Athens Princeton University.
Algorithms and Data Structures Gerth Stølting Brodal Computer Science Day, Department of Computer Science, Aarhus University, May 25, 2012.
Binomial heaps, Fibonacci heaps, and applications
„Policy-Based Benchmarking of Weak Heaps and Their Relatives“ Asger Bruun*, Stefan Edelkamp, Jyrki Katajainen*, Jens Rasmussen* *University of Copenhagen.
Path Minima on Dynamic Weighted Trees Pooya Davoodi Aarhus University Aarhus University, November 17, 2010 Joint work with Gerth Stølting Brodal and S.
Algorithms and Data Structures Gerth Stølting Brodal Computer Science Day, Department of Computer Science, Aarhus University, May 25, 2012.
Change Keys in heaps Fibonacci heap Zhao Xiaobin.
1 Binomial Tree Binomial tree. n Recursive definition: B k-1 B0B0 BkBk B0B0 B1B1 B2B2 B3B3 B4B4.
Four different data structures, each one best in a different setting. Simple Heap Balanced Heap Fibonacci Heap Incremental Heap Our results.
Week 12 - Monday.  What did we talk about last time?  Topological sort and cycle detection in directed graphs  Connectivity  Strong connectivity.
Gerth stølting Brodal 1 Closing a Classical Data Structure Problem Gerth Stølting Brodal : Strict Fibonacci Heaps joint work with George Lagogiannis Robert.
Two-tier relaxed heaps Presented by Claus Jensen Joint work with Amr Elmasry and Jyrki Katajainen Slides available at
CMSC 341 Binomial Queues and Fibonacci Heaps. Basic Heap Operations OpBinary Heap Leftist Heap Binomial Queue Fibonacci Heap insertO(lgN) deleteMinO(lgN)
1 Fibonacci heaps: idea List of multiway trees which are all heap-ordered. Definition: A tree is called heap-ordered if the key of each node is greater.
(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty.
Fibonacci Heaps. Fibonacci Binary insert O(1) O(log(n)) find O(1) N/A union O(1) N/A minimum O(1) O(1) decrease key O(1) O(log(n)) delete O(log(n) O(log(n))
Self-Adjusting Data Structures
Algorithm Analysis Fall 2017 CS 4306/03
Chapter 9 : Graphs Part II (Minimum Spanning Trees)
Data Structures Binomial Heaps Fibonacci Heaps Haim Kaplan & Uri Zwick
Topics covered (since exam 1):
Binomial heaps, Fibonacci heaps, and applications
Heaps Binomial Heaps Lazy Binomial Heaps 1.
Binomial heaps, Fibonacci heaps, and applications
Source: Muangsin / Weiss
Review for Final Exam Non-cumulative, covers material since exam 2
Priority Queues MakeQueue create new empty queue
Fibonacci Heaps Remove arbitrary is useful in (for example) correspondence structures and may also be used to do an increase key in a min structure (remove.
Selection in heaps and row-sorted matrices
Minimum Spanning Tree Neil Tang 3/25/2010
Minimum Spanning Tree.
Topics covered (since exam 1):
A simpler implementation and analysis of Chazelle’s
ערמות בינומיות ופיבונצ'י
Strict Fibonacci Heaps
Dijkstra’s Shortest Path Algorithm Neil Tang 03/25/2008
Fibonacci Heaps Remove arbitrary is useful in (for example) correspondence structures.
Minimum Spanning Tree Neil Tang 4/3/2008
Binary and Binomial Heaps
Melding Priority Queues
Binomial heaps, Fibonacci heaps, and applications
Binomial heaps, Fibonacci heaps, and applications
Union-Find with Constant Time Deletions
Dijkstra’s Shortest Path Algorithm Neil Tang 3/2/2010
Introduction to Algorithms: Greedy Algorithms (and Graphs)
Graph Algorithms: Shortest Path
Fibonacci Heaps.
Implementation of Dijkstra’s Algorithm
Binomial heaps, Fibonacci heaps, and applications
Priority Queues Supports the following operations. Insert element x.
Topics covered (since exam 1):
Prim’s Minimum Spanning Tree Algorithm Neil Tang 4/1/2008
CS 6310 Advanced Data Structure Wei-Shian Wang
Fibonacci Heaps & Doubled-Ended Heap Structures
Fundamental Structures of Computer Science II
Prim’s algorithm IDEA: Maintain V – A as a priority queue Q. Key each vertex in Q with the weight of the least-weight edge connecting it to a vertex in.
Presentation transcript:

Closing a Classical Data Structure Problem Gerth Stølting Brodal : Strict Fibonacci Heaps joint work with George Lagogiannis Robert Endre Tarjan Athens Princeton & HP 44th Annual ACM Symposium on Theory of Computing, May 2012 MADALGO REVIEW MEETING 2012, Tuesday February 28, 2012, 13:30-13:45 At the 2011 Panel Review Meeting: Erik Demaine talked about "Attacking classical data structure problems”

The Problem Applications (C,11) (M,36) (B,14) Insert(value, key) FindMin Delete / DeleteMin Meld(Q1,Q2) DecreaseKey(value, Δ) (X,86) 12 Priority queue (A,27) (K,54) (D,24) (Z,29) (W,6) A 15 15 1 8 12 9 16 25 11 3 13 22 5 14 10 6 2 17 4 19 t Applications DecreaseKey = Delete+Insert Borůvka = problem to electrify the Czech Republic Jarnik = Prim(1957)s algorithm β(m,n) is for all pratical valures 3-4. Insert/DeleteMin Shortest Path Problem Dijkstra (1956) Minimum Spanning Tree Borůvka (1926) Jarník (1930) (n node, m edges) (m+n)∙log n m+n∙log n m∙β(m,n) s Fredman, Tarjan 1984 + DecreaseKey 15 1 8 12 9 16 25 11 3 13 22 5 14 10 6 2 17 4 19 MST only Fredman, Tarjan 1984 + DecreaseKey

Amortized complexity (Tarjan 1983) History Binomial queues Run-relaxed heaps Strict Fibonacci heaps Binary heaps Fibonacci heaps Williams 1964 Vuillemin 1978 Fredman Tarjan 1984 et al. 1988 Brodal 1995 Brodal 1996 Lagogianis 2012 Insert log n 1 FindMin Delete n Meld - DecreaseKey Run-relaxed heaps : SSSP MST real time applications, parallel algorithms worst-case guarantees important, single source shortest paths Since 90s people working on the problem incl Katajainen, Elm-Asry, Tarjan, Kaplan... trying to simplify solution CONFERENCE REVIEWS This paper closes one of the few open problems in the area of comparison-based priority queues Other PQs from the 1990s ... were extremely complicated The data structure is genuinely simple Arrays Complicated Amortized complexity (Tarjan 1983)

Global partial control Technical History Min 7 27 12 4 13 17 11 16 27 86 34 24 42 54 36 86 Local control = consequence of wanting Meld to be O(1) Binary heaps Bionomial queues Binary heaps 1964 Binomial queues 1978 Fibonacci heaps 1984 Run-relaxed heaps 1988 Brodal 1995 1996 Strict Fibonacci heaps 2012 Heap-order Rigid structure Forest Linking Subtrees cut Cascades  Amortized DecreaseKey Global control Redundant counters Local control Local redundant counters Heap order violations Global partial control Pigenhole principle single tree

((( I worked on the heap problem 1994-2012 ))) don’t give up  Peter Gabriel (1985) ((( I worked on the heap problem 1994-2012 ))) Thank You