差分を取得しているコードを追ってみても、そもそもどうやったら差分がとれるかという基礎知識がないので何をやっているのかさっぱりです。
大まかな流れでいいので日本語で、差分を取得する方法を説明してもらえませんでしょうか。
もしくは説明しているページはありませんでしょうか。
"テキスト 差分 アルゴリズム"で検索したところ、それらしいページがいくつか出てきました。その中から、比較的直接的にアルゴリズムを紹介しているページを紹介しておきます。
http://hp.vector.co.jp/authors/VA007799/viviProg/doc5.htm
余談ですが、2つのDNAの塩基配列を比較する時も似たような方法をよく使います。
エディットグラフというアルゴリズムが有名ですね。
直感的にわかりやすいかどうかはわかりませんが。
おお、見事に最初の人と一緒ですね!あざっす!
おお、読み返してみたら質問文が非常にわかりづらかったですね…すみません…
回答1,2の方が紹介されているURLがまずは有名でわかりやすいかと思います.
ただ,アルゴリズムの説明が最小限しかされていないので,この説明だけから diff を実装するのはつらいかもしれません.以下のURLで詳しく説明してくれているので,こちらも参照されるとよいかと思います.
http://www.slash-zero.jp/archives/program/466 …基本の考え方
http://www.slash-zero.jp/archives/program/468 …O(ND)アルゴリズムの詳細
http://www.slash-zero.jp/archives/program/476 …O(NP)アルゴリズムの詳細
あざっす!
あざっす!