pfds ex3 9

13
PFDS EX. 3.9 竹井(@shtaag20111217日土曜日

Upload: shigekazu-takei

Post on 31-May-2015

431 views

Category:

Technology


0 download

DESCRIPTION

Explanation for Purely Functional Data Structure (C. Okasaki) Exercise 3.9

TRANSCRIPT

Page 1: Pfds ex3 9

PFDS EX. 3.9 竹井(@shtaag)

2011年12月17日土曜日

Page 2: Pfds ex3 9

BASED ON HINZE’S WORK

http://t.co/P3SiwhRE

2011年12月17日土曜日

Page 3: Pfds ex3 9

FROMORDLIST

•連続した値のlistからRedBlackTreeを形成すると、、

2011年12月17日土曜日

Page 4: Pfds ex3 9

こうなる

Z

Y

X

Z

Y

X

連続したKeyのインサートではこのバランスが連続で呼ばれる(これ違うかもしれません...木の伸びる方向が逆?)

この図は左右反転している???

2011年12月17日土曜日

Page 5: Pfds ex3 9

これを、基数2で表してみる

2011年12月17日土曜日

Page 6: Pfds ex3 9

PENNANT

rank = 2

•完全木と一つのNodeから成る• rank r のpennantは、2rのNodeを持つ

2011年12月17日土曜日

Page 7: Pfds ex3 9

EXPRESSION WITH PENNANTS

2011年12月17日土曜日

Page 8: Pfds ex3 9

EXPRESSION WITH PENNANTS

※ 0,1ではなく、1,2を使用する

2011年12月17日土曜日

Page 9: Pfds ex3 9

EXPRESSION WITH PENNANTS

(22)2

(21 x 2, 20 x 2)2

==

2011年12月17日土曜日

Page 10: Pfds ex3 9

(21{N})だと高さを抑えられる

(23 x 2, 22 x 1, 21 x 1, 20 x 1)

2011年12月17日土曜日

Page 11: Pfds ex3 9

実装

2011年12月17日土曜日

Page 12: Pfds ex3 9

実装

s1 + 1 = s2, s2 + 1 = (s + 1)1を表現

2011年12月17日土曜日

Page 13: Pfds ex3 9

実装

2011年12月17日土曜日