差分アルゴリズムの原理について @horita_yuya #iosdc #a

https://fortee.jp/iosdc-japan-2018/proposal/5c61003a-4693-4b26-8926-05b782c2e88f TableView, CollectionViewの部分更新の為に、RxDataSources, IGListKitなど、多くのライブラリが開発されて来ました。 それらの内部では、効率的な差分検出のために差分アルゴリズムが使われています。作る側はもちろん、使う側もその原理について理解しておくことは重要です。 今回、Myers, Heckelの2種類の差分アルゴリズムについて解説させて頂きます。
1
atsushisakai @_atsushisakai

SESのはなしめちゃくちゃわかりやすいぞ #iosdc #a

2018-08-31 17:02:49
なんしー @nwatabou

差分アルゴリズム、グラフにすると数学で見たような感じになってわかりやすい。 #iosdc #a

2018-08-31 17:03:18
moga👶 @_mogaming

なるほどー。これ青い矢印はどうやって見つけるんだろう。聞き逃したかな。 #iosdc #a

2018-08-31 17:03:28
ものくろ @monoqlo

差分の計算てこういう感じなのか。おもしろい #iosdc #a

2018-08-31 17:03:34
hotchemi @hotchemi

AndroidのDiiffUtilはMyersの差分アルゴリズムを使っている #iosdc #a

2018-08-31 17:03:45
かっくん @fromkk

Edit Graph = 編集作業をコンピュータで解けそうな感じに表現 右移動: Delete 下移動: Insert 斜め移動: Do nothing #iosdc #a

2018-08-31 17:03:52
Sho Ikeda @ikesyo

#iosdc #a Edit Graphの話、分かりやすくてよい

2018-08-31 17:04:18
かっくん @fromkk

Myers Algorithm D = 0から始めてEnd座標を目指す。無理だったらDを1増やして到着出来るまで繰り返す #iosdc #a

2018-08-31 17:05:35
優鉄 @yuutetu

最短のEditScriptを求める=EditGraphでの水平・垂直移動を重み1にしたお最短経路を求める #iosdc #a

2018-08-31 17:05:52
ta_ka_tsu @ta_ka_tsu

そうか、ただ一番右まで行ってそっから一番下までいくという経路はsourceを全部削除してtargetの要素を全部追加することに対応するわけだ。 #iosdc #a

2018-08-31 17:06:34
Sho Ikeda @ikesyo

#iosdc #a Heckelのアルゴリズムの説明も分かりやすい

2018-08-31 17:18:16
ばんじゅん🍓 @banjun

Heckelだとmoveが自然に出てくるんだな #iosdc #a

2018-08-31 17:20:08
ひろん @hironytic

図が丁寧でわかりやすかった🙂 #iosdc #a

2018-08-31 17:20:52
hitabe @hitabe3

CAさんはアルゴリズムをわかりやすく説明できるエンジニアが多い気がする。訓練されてるのかな #iosdc #a

2018-08-31 17:21:32
木月🌈🕒👑⚗️ @wmoodn

丁寧でわかりやすい説明だった #iosdc #a

2018-08-31 17:21:39