Algorithm::Diff
2004-12-12-2
[Algorithm][Programming]
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)。仕組みは、サンプルを紙でトレースしてやっと理解。
なるほどなあ。
<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)。仕組みは、サンプルを紙でトレースしてやっと理解。
なるほどなあ。
この記事に言及しているこのブログ内の記事