SlideShare a Scribd company logo
.
    Lazy Pairing Heaps
      – PFDS 読書会 –
.

         日比野 啓


      December 15, 2012




                          .   .   .   .   .   .
Pairing Heap の復習 - ならし時間計算量




 Pairing Heap のならし時間計算量
 … heap 内のノードの数を n としたとき
    insert, merge, deleteMin … O(ln n)
    findMin … O(1)




                                         .   .   .   .   .   .
Pairing Heap の復習 - 最悪時間計算量




 最悪時間計算量
    deleteMin … O(n)
    findMin, insert, merge … O(1)




                                   .   .   .   .   .   .
Pairing Heap の復習 - 最悪時間計算量




 最悪時間計算量
    deleteMin … O(n)
    findMin, insert, merge … O(1)




                                   .   .   .   .   .   .
Pairing Heap - deleteMin の最悪コスト

  deleteMin の最悪 (O(n)) ケース
       n - 1 回の merge が起こる




                             .   .   .   .   .   .
Pairing Heap - データ構造

  通常の Pairing ヒープでは子ノードをリストで持っていた
  datatype Heap = E
                | T of Elem . T * Heap list




                                 .   .   .    .   .   .
Lazy Pairing Heap
  deleteMin の最悪ケースの再利用に対してならしコストが悪
  くならないようにする
       merge 結果を遅延サンクにキャッシュする




                         .   .   .   .   .   .
Lazy Pairing Heap
  datatype Heap = E
                | T of Elem . T * Heap * Heap susp




                                .   .   .   .   .   .
Discussion




  Discussion




               .   .   .   .   .   .

More Related Content

PDF
Pfds20120304
PDF
Ninja of Train
PPTX
はんなりPython#42 20210629
PDF
Alpha gor 2
PDF
NumPyが物足りない人へのCython入門
PDF
Sort
PPT
diff template library
PDF
Cython ことはじめ
Pfds20120304
Ninja of Train
はんなりPython#42 20210629
Alpha gor 2
NumPyが物足りない人へのCython入門
Sort
diff template library
Cython ことはじめ

What's hot (17)

PDF
Wrapping a C++ library with Cython
PDF
CuPyでAx=bを解きたかった話
PDF
Incanterの紹介
ODP
(define)なしで再帰関数を定義する
PDF
AtCoder Regular Contest 049 解説
PDF
関数の最小値を求めることから機械学習へ
PDF
20130626 kawasaki.rb NKT77
PPTX
Python : for文の解説
PDF
AtCoder Regular Contest 045 解説
PPTX
Python : Class
PDF
Rubyの御先祖CLUのお話(原本)
PDF
111015 tokyo scipy2_ディスカッション
PDF
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
PDF
私を SKI に連れてって
PDF
120414 foss4g nagoya_presentation2
Wrapping a C++ library with Cython
CuPyでAx=bを解きたかった話
Incanterの紹介
(define)なしで再帰関数を定義する
AtCoder Regular Contest 049 解説
関数の最小値を求めることから機械学習へ
20130626 kawasaki.rb NKT77
Python : for文の解説
AtCoder Regular Contest 045 解説
Python : Class
Rubyの御先祖CLUのお話(原本)
111015 tokyo scipy2_ディスカッション
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
私を SKI に連れてって
120414 foss4g nagoya_presentation2
Ad

Viewers also liked (8)

PDF
Adding simpl GVN path into GHC
PDF
Profunctor and Arrow
PPTX
Html5 101
ODP
Html5 101
PDF
HaskellDB
PDF
Museo de antequera
PDF
Html5 101
PDF
Learn BEM: CSS Naming Convention
Adding simpl GVN path into GHC
Profunctor and Arrow
Html5 101
Html5 101
HaskellDB
Museo de antequera
Html5 101
Learn BEM: CSS Naming Convention
Ad

Lazy Pairing Heap

  • 1. . Lazy Pairing Heaps – PFDS 読書会 – . 日比野 啓 December 15, 2012 . . . . . .
  • 2. Pairing Heap の復習 - ならし時間計算量 Pairing Heap のならし時間計算量 … heap 内のノードの数を n としたとき insert, merge, deleteMin … O(ln n) findMin … O(1) . . . . . .
  • 3. Pairing Heap の復習 - 最悪時間計算量 最悪時間計算量 deleteMin … O(n) findMin, insert, merge … O(1) . . . . . .
  • 4. Pairing Heap の復習 - 最悪時間計算量 最悪時間計算量 deleteMin … O(n) findMin, insert, merge … O(1) . . . . . .
  • 5. Pairing Heap - deleteMin の最悪コスト deleteMin の最悪 (O(n)) ケース n - 1 回の merge が起こる . . . . . .
  • 6. Pairing Heap - データ構造 通常の Pairing ヒープでは子ノードをリストで持っていた datatype Heap = E | T of Elem . T * Heap list . . . . . .
  • 7. Lazy Pairing Heap deleteMin の最悪ケースの再利用に対してならしコストが悪 くならないようにする merge 結果を遅延サンクにキャッシュする . . . . . .
  • 8. Lazy Pairing Heap datatype Heap = E | T of Elem . T * Heap * Heap susp . . . . . .
  • 9. Discussion Discussion . . . . . .