Gerth stølting Brodal 1 Closing a Classical Data Structure Problem Gerth Stølting Brodal : Strict Fibonacci Heaps joint work with George Lagogiannis Robert.

Slides:



Advertisements
Similar presentations
Fibonacci Heaps Especially desirable when the number of calls to Extract-Min & Delete is small (note that all other operations run in O(1) This arises.
Advertisements

Dynamic Graph Algorithms - I
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.
Advanced Data structure
Introduction to Algorithms 6.046J/18.401J L ECTURE 16 Greedy Algorithms (and Graphs) Graph representation Minimum spanning trees Optimal substructure Greedy.
Lecture 6 Shortest Path Problem. s t Dynamic Programming.
Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA
Introduction to Algorithms 6.046J/18.401J/SMA5503
By Amber McKenzie and Laura Boccanfuso. Dijkstra’s Algorithm Question: How do you know that Dijkstra’s algorithm finds the shortest path and is optimal.
1 Self-Adjusting Data Structures. 2 Lists [D.D. Sleator, R.E. Tarjan, Amortized Efficiency of List Update Rules, Proc. 16 th Annual ACM Symposium on Theory.
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
Fully Persistent B-Trees 23 rd Annual ACM-SIAM Symposium on Discrete Algorithms, Kyoto, Japan, January 18, 2012 Gerth Stølting Brodal Konstantinos Tsakalidis.
Nick Harvey & Kevin Zatloukal
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.
DAST 2005 Tirgul 12 (and more) sample questions. DAST 2005 Q.We’ve seen that solving the shortest paths problem requires O(VE) time using the Belman-Ford.
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.
5.9 Heaps of optimal complexity
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.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 11 Tuesday, 12/4/01 Advanced Data Structures Chapters.
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.
9/10/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 8 Greedy Graph.
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
Introduction to Algorithms L ECTURE 14 (Chap. 22 & 23) Greedy Algorithms I 22.1 Graph representation 23.1 Minimum spanning trees 23.1 Optimal substructure.
The Power of Incorrectness A Brief Introduction to Soft Heaps.
§8 Binomial Queues Haven’t we had enough about queues? What is a binomial queue for? Well, what is the average time for insertions with leftist or skew.
„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.
Chapter 19: Fibonacci Heap Many of the slides are from Prof. Leong Hon Wai’s resources at National University of Singapore.
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.
1 Introduction to Algorithms L ECTURE 17 (Chap. 24) Shortest paths I 24.2 Single-source shortest paths 24.3 Dijkstra’s algorithm Edsger Wybe Dijkstra
1 Fat heaps (K & Tarjan 96). 2 Goal Want to achieve the performance of Fibonnaci heaps but on the worst case. Why ? Theoretical curiosity and some applications.
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)
Fibonacci Heaps. Analysis FibonacciAnalysis.ppt Video  iew/cop5536sahni
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.
Lecture: Priority Queue. Questions Is array a data structure? What is a data structure? What data structures are implemented by array? Priority queue.
(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
Data Structures Binomial Heaps Fibonacci Heaps Haim Kaplan & Uri Zwick
Binomial heaps, Fibonacci heaps, and applications
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.
Minimum Spanning Tree.
Lecture 24 CSE 331 Oct 28, 2016.
Shortest Path Consider the following weighted undirected graph: 20 10
Lecture 6 Shortest Path Problem.
ערמות בינומיות ופיבונצ'י
Closing a Classical Data Structure Problem Gerth Stølting Brodal
Strict Fibonacci Heaps
Binary and Binomial Heaps
Introduction to Algorithms: Greedy Algorithms (and Graphs)
Fibonacci Heaps.
Implementation of Dijkstra’s Algorithm
Binomial heaps, Fibonacci heaps, and applications
Priority Queues Supports the following operations. Insert element x.
Fibonacci Heaps & Doubled-Ended Heap Structures
Prim’s algorithm for minimum spanning trees
Presentation transcript:

Gerth stølting Brodal 1 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

Gerth stølting Brodal 2 (J,6) The Problem (A,27) (C,11) (M,36) (B,14) (X,86)  I NSERT (value, key)  F IND M IN  D ELETE / D ELETE M IN  M ELD (Q 1,Q 2 )  D ECREASE K EY (value, Δ) (K,54) (D,24) (Z,29)(W,6) Q1Q1 Q2Q2 12 A Applications t s  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) MST only I NSERT /D ELETE M IN + D ECREASE K EY Fredman, Tarjan 1984 Priority queue

Gerth stølting Brodal 3 Williams 1964 Vuillemin 1978 Fredman Tarjan 1984 Tarjan et al Brodal 1995 Brodal 1996 Brodal Lagogianis Tarjan 2012 Insertlog n FindMin Deletelog n n Meld-log n DecreaseKeylog n n11 11 History Amortized complexity (Tarjan 1983) 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 Binary heaps Binomial queues Fibonacci heaps Run-relaxed heaps Arrays Complicated Strict Fibonacci heaps

Gerth stølting Brodal 4 Binary heaps 1964 Binomial queues 1978 Fibonacci heaps 1984 Run-relaxed heaps 1988 Brodal 1995 Brodal 1996 Strict Fibonacci heaps 2012 Heap-order Rigid structure Forest Linking Subtrees cut Cascades  Amortized D ECREASE K EY Global control Redundant counters Local control Redundant counters Local redundant counters Heap order violations Global partial control Pigenhole principle Technical History Binary heaps Min Bionomial queuesFibonacci heaps single tree

Gerth stølting Brodal 5 Thank You don’t give up  Peter Gabriel (1985) ( ( ( I worked on the heap problem ) ) )