差分アルゴリズムの原理について @horita_yuya #iosdc #a
https://fortee.jp/iosdc-japan-2018/proposal/5c61003a-4693-4b26-8926-05b782c2e88f
TableView, CollectionViewの部分更新の為に、RxDataSources, IGListKitなど、多くのライブラリが開発されて来ました。
それらの内部では、効率的な差分検出のために差分アルゴリズムが使われています。作る側はもちろん、使う側もその原理について理解しておくことは重要です。
今回、Myers, Heckelの2種類の差分アルゴリズムについて解説させて頂きます。
かっくん
@fromkk
Edit Graph = 編集作業をコンピュータで解けそうな感じに表現 右移動: Delete 下移動: Insert 斜め移動: Do nothing #iosdc #a
2018-08-31 17:03:52
かっくん
@fromkk
Myers Algorithm D = 0から始めてEnd座標を目指す。無理だったらDを1増やして到着出来るまで繰り返す #iosdc #a
2018-08-31 17:05:35
ta_ka_tsu
@ta_ka_tsu
そうか、ただ一番右まで行ってそっから一番下までいくという経路はsourceを全部削除してtargetの要素を全部追加することに対応するわけだ。 #iosdc #a
2018-08-31 17:06:34