20
PFDS 9.3.2 Skew Binomial Heaps @rf0444

PFDS 9.3.2

  • Upload
    rf0444

  • View
    360

  • Download
    7

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: PFDS 9.3.2

PFDS 9.3.2

Skew Binomial Heaps

@rf0444

Page 2: PFDS 9.3.2

Skew Binomial Heap

Skew Binary Numbers の考えを使って

insert を O(1) にする

Page 3: PFDS 9.3.2

Skew Binomial Heap

Binomial Heap のサイズ と Skew Binary

Number の重みが合わない

合わない分はリストに蓄えておく

必要時に辻褄を合わせる

リストのサイズ <= ランク

Page 4: PFDS 9.3.2

insert

[ ]

Page 5: PFDS 9.3.2

insert

1

1

[ ]

Page 6: PFDS 9.3.2

insert

1

2

2 1

Page 7: PFDS 9.3.2

insert 3

31

2 1

2

Page 8: PFDS 9.3.2

insert 4

31

2

31

2

4

Page 9: PFDS 9.3.2

insert 5

31

2

4

31

2

4

5

Page 10: PFDS 9.3.2

insert 6

31

2

4

631

2

4

5

5

Page 11: PFDS 9.3.2

insert 7

31

24 6

5

31

2

4

6

5

7

Page 12: PFDS 9.3.2

insert 8

31

24 6

5

731

24 6

5

7 8

Page 13: PFDS 9.3.2

insert 9

31

24 6

5

79

31

24 6

5

78

8

Page 14: PFDS 9.3.2

insert 10

31

24 6

5

7

9

8

31

24 6

5

79

8

10

Page 15: PFDS 9.3.2

deleteMin

31

24 6

5

7

9

8

10

Page 16: PFDS 9.3.2

deleteMin

31

24 6

5

7

9

8

10

removeMinTree 後

31

24 6

5

7

9

8

10

t ts

Page 17: PFDS 9.3.2

deleteMinmerge 前

2 4 6

5 9

8 10

37removeMinTree 後

31

24 6

5

7

9

8

10

t ts

xs :

Page 18: PFDS 9.3.2

deleteMinmerge 後 37

2 4 6

5

9

8

10

merge 前

2 4 6

5 9

8 10

37 xs :xs :

Page 19: PFDS 9.3.2

deleteMin

3

2 4 6

57

9

8

10

merge 後 37

2 4 6

5

9

8

10

insertAll 後xs :

Page 20: PFDS 9.3.2

deleteMin

3

2 4 6

57

9

8

10

31

24 6

5

7

9

8

10