1 funnel heap
play

1 Funnel Heap Introduced by Brodal et al. [1]. Based on merging - PDF document

1 Funnel Heap Introduced by Brodal et al. [1]. Based on merging instead of distribution. References [1] G. S. Brodal and R. Fagerberg, Funnel heapa cache oblivious priority queue, Proceedings of the 13th Annual International


  1. 1 Funnel Heap • Introduced by Brodal et al. [1]. • Based on merging instead of distribution. References [1] G. S. Brodal and R. Fagerberg, Funnel heap—a cache oblivious priority queue, Proceedings of the 13th Annual International Symposium on Algorithms and Computation , Lecture Notes in Computer Science 2380 , Springer-Verlag (2002), 426–438. 1

  2. 2 Funnel q ✲ ✶ s ✲ ❞ q ✲ ✸ ❞ ✶ ❫ ❏ ❏ ✲ ❞ q ✲ ❞ ✶ ❇ s ✣ ✡ ✲ ✡ ❞ q ✲ ✸ ❞ ❇ ❇ ◆ ✶ ✲ ❞ q ✲ ❞ ✶ s ✲ ✍ ✂ ❞ ✂ q ✲ ✸ ❞ ✶ ❏ ❫ ❏ ✲ ✂ ❞ q ✲ ❞ ✶ s ✡ ✣ ✲ ✡ ❞ q ✲ ❞ ✸ ✶ ❞ 2

  3. 3 Structure ( k 1 , s 1 ) = (2 , 8) , (1) = s i − 1 ( k i + 1) , and (2) s i 1 / 3 ⌉⌉ , = ⌈⌈ s i (3) k i where ⌈⌈ x ⌉⌉ is “ x rounded to the nearest power of 2”. 3

  4. Link 1 Link 2 Link i v 1 v 2 v i A i A 1 A 2 B 1 B 2 B i ...... I K 1 K 2 K i S 1,1 S 1,2 ... S 2,1 S 2,2 S 2,k 2 ... S i,1 S i,2 S i,k i 4

  5. 4 Extract • Fill A 1 if it is empty. • Extract from A 1 5 Insert • Insert element in I . • If I is full perform sweep. 5

  6. 6 Sweep Idea: Merge elements, and move them to a higher link. 1. Find first empty S buffer. 2. Create σ 1 and σ 2 , and merge them to form σ . 3. Insert elements on path from the root to the empty S buffer. σ σ 2 1 v 1 v 2 v 3 A 1 A 2 A 3 B 1 B 2 B 3 I K 1 K 2 K 3 ... S S * 1,1 1,2 S S S 2,1 2,k 2 2,2 S S 3,1 3,2 6

  7. 7 Space Complexity • In a link i there are k i S buffers of size s i . • By the definition of k and s we know that: k i = O ( s 1 / 3 ). i • The space consumption of the S buffers are i ) = O ( s 4 / 3 thus O ( k 4 ). i • Since K i , A i and B i are all of size O ( s i ), the space in the S buffers dominates the space used for a link i. • Since s i and k i is increasing, the space consumption of a Funnel Heap with i links is dominated by the i th link. • Since the space consumption of a Funnel Heap i ), and k i +1 = O ( k 4 / 3 with i links is O ( k 4 ), the i worst case space complexity is O ( N 4 / 3 ). 7

  8. 8 I/O Complexity They prove that the amortized I/O complexity of an extract is � 1 � N �� O B log M/B . B Which is optimal for cache-oblivious priority queues. 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend