| ■No49394 (初心者 さん) に返信 > > ご返信ありがとうございます。 > 是非、サンプルソースが欲しいです。 > お手数ですが、下記のアドレスにお願いします。 > t_kouji_1981@yahoo.co.jp > > その後、ソースの解析をしたいと思います。 >
んー せっかく公開されてる掲示板なので 個人的にあげる、というのはもったいないですよね。
今から頑張って分割して貼ります。
以下のソースは 上で言ったように、ジェネリックの勉強用につくったので 「行」でかんがえるわけではなく、「任意のオブジェクトの配列」の差分情報を計算します。
アルゴリズムはMyersによるO(ND)タイプです。 今発見されているなかで最短というわけではありません。 デバッグは殆ど行っていません。
このくらいの長さになると著作権などを述べておいた方がいいかもしれませんね。
どこかからソースをコピペしたわけではありません。論文を読んでそこからソースを起こしました。 もちろんGNU系のソースを見てもいません。
ですので、著作権はもしかすると私に属するかもしれませんが、 アルゴリズムの「まんま」実装なので、私は著作権を主張しません。
他の厄介なライセンスの縛りもありませんので いつでも誰でもどんな用途にでもご自由にお使いください。
参考文献:
E.W.Myers, "An O(ND) difference algorithm and its variations", Algorithmixa, 1 (1986), 251
|