fibonacci heap
play

Fibonacci Heap Group Paradox December 21, 2016 Contents 1. - PowerPoint PPT Presentation

Fibonacci Heap Group Paradox December 21, 2016 Contents 1. Introduction 2. Operations 3. Why it called Fibonacci (the proof) Priority Queue in Dijkstra Fibonacci Heap Operation Binary Heap Fibonacci Heap Find-Min O (1) O (1) Insert O (


  1. Fibonacci Heap Group Paradox December 21, 2016

  2. Contents 1. Introduction 2. Operations 3. Why it called Fibonacci (the proof)

  3. Priority Queue in Dijkstra

  4. Fibonacci Heap Operation Binary Heap Fibonacci Heap Find-Min O (1) O (1) Insert O ( lg ( n )) O (1) Extract-Min O ( lg ( n )) O ( lg ( n )) Decrease-Key O ( lg ( n )) O (1) Merge O ( n ) O (1)

  5. Structure root list minimum link a bunch of trees pointer

  6. Insert Just add them into the root list

  7. Extract-Min 1. extract the minimum X 2. add the children of X to the root list 3. consolidate (make the degree of nodes unique) 4. find the new minimum

  8. Amortized Analysis ◮ we pay one coin for every re-link operation. ◮ a coin takes O (1) time ◮ requirement : every root has a coin ◮ deposit a coin on new node when we insert it to meet the requirement ◮ we can use these coins during the consolidation, so consolidation costs no new coin ◮ Extract-Min only needs at most O ( max degree ) coins for re-linking children and finding new minimum

  9. Amortized Analysis ◮ we pay one coin for every re-link operation. ◮ a coin takes O (1) time ◮ requirement : every root has a coin ◮ deposit a coin on new node when we insert it to meet the requirement ◮ we can use these coins during the consolidation, so consolidation costs no new coin ◮ Extract-Min only needs at most O ( max degree ) coins for re-linking children and finding new minimum

  10. Amortized Analysis ◮ we pay one coin for every re-link operation. ◮ a coin takes O (1) time ◮ requirement : every root has a coin ◮ deposit a coin on new node when we insert it to meet the requirement ◮ we can use these coins during the consolidation, so consolidation costs no new coin ◮ Extract-Min only needs at most O ( max degree ) coins for re-linking children and finding new minimum

  11. Amortized Analysis ◮ we pay one coin for every re-link operation. ◮ a coin takes O (1) time ◮ requirement : every root has a coin ◮ deposit a coin on new node when we insert it to meet the requirement ◮ we can use these coins during the consolidation, so consolidation costs no new coin ◮ Extract-Min only needs at most O ( max degree ) coins for re-linking children and finding new minimum

  12. Amortized Analysis ◮ we pay one coin for every re-link operation. ◮ a coin takes O (1) time ◮ requirement : every root has a coin ◮ deposit a coin on new node when we insert it to meet the requirement ◮ we can use these coins during the consolidation, so consolidation costs no new coin ◮ Extract-Min only needs at most O ( max degree ) coins for re-linking children and finding new minimum

  13. Amortized Analysis ◮ we pay one coin for every re-link operation. ◮ a coin takes O (1) time ◮ requirement : every root has a coin ◮ deposit a coin on new node when we insert it to meet the requirement ◮ we can use these coins during the consolidation, so consolidation costs no new coin ◮ Extract-Min only needs at most O ( max degree ) coins for re-linking children and finding new minimum

  14. Note that one coin takes O (1) amortized cost Operation Coin Needed at most Amortized Cost Insert 2 O (1) Extract-Min (2 + 1) · maxdegree O ( lg ( n )) Lemma The maximum degree of nodes in a Fibonacci heap is O ( lg ( n ))

  15. The Idea of Amortized Analysis Running Time Running Time ... ... ... ... insert insert insert insert insert insert insert insert extract-min extract-min

  16. Decrease-Key 1. cut it to the root list 2. make the cascading cut

  17. Coin Analysis Cut a node to root costs 2 coin, mark a node costs 2 coins. Operation Coin Needed at most Amortized Cost Insert 2 O (1) Extract-Min (2 + 1) · maxdegree O ( lg ( n )) Decrease-Key 4 O (1)

  18. Delete 1. decrease it to −∞ 2. extract the minimum ◮ amortized cost is O (1) + O ( lg ( n )) = O ( lg ( n ))

  19. Why it called Fibonacci Lemma : Bounding the Maximum Degree Let x be any node in a Fibonacci heap, and let k = x . degree . Then size ( x ) ≥ F k +2 Proof recall two lemmas about the Fibonacci number F k +2 ≤ φ k and F k = � k − 2 F i + 1 0 Let S k be the possible minimum size of any nodes of degree k , we can derive k − 2 � S k ≥ S i + 1 0 thus, S k ≥ F k +2

  20. Why it called Fibonacci Lemma : Bounding the Maximum Degree Let x be any node in a Fibonacci heap, and let k = x . degree . Then size ( x ) ≥ F k +2 Proof recall two lemmas about the Fibonacci number F k +2 ≤ φ k and F k = � k − 2 F i + 1 0 Let S k be the possible minimum size of any nodes of degree k , we can derive k − 2 � S k ≥ S i + 1 0 thus, S k ≥ F k +2

  21. Why it called Fibonacci Lemma : Bounding the Maximum Degree Let x be any node in a Fibonacci heap, and let k = x . degree . Then size ( x ) ≥ F k +2 Proof recall two lemmas about the Fibonacci number F k +2 ≤ φ k and F k = � k − 2 F i + 1 0 Let S k be the possible minimum size of any nodes of degree k , we can derive k − 2 � S k ≥ S i + 1 0 thus, S k ≥ F k +2

Recommend


More recommend