古い記事
ランダムジャンプ
新しい記事
2つのファイル/リスト間での'気の利いた'差異を求めます。
<http://perldoc.jp/docs/modules/Algorithm-Diff-1.15/Diff.pod>

以下をベースにしているそうだ。
James W. Hunt and Thomas G. Szymanski:
A Fast Algorithm for Computing Longest Common Subsequences,
Communications of the ACM, vol.20, no.5, pp.350-353, May 1977.
<http://portal.acm.org/citation.cfm?id=359603>
単純に DP をやると O(N^2)。この方法だと、最悪は O(N^2 log N) だけど、
ほとんど O(N log N)。仕組みは、サンプルを紙でトレースしてやっと理解。
なるほどなあ。
IMG
この記事に言及しているこのブログ内の記事