diffっぽいもの - pocketberserkerの爆走ではプログラムを見せるだけで終了してしまったので、今回は最短経路探索についてお話します。 以下の図は、strengthとstringのエディットグラフに、編集距離(Edit Distance)を求める際に通った座標(以降ではノードと呼びます)と通った順番を付加したものです。 最短経路は最終ノードから逆順に道をたどればとれるのですが、プログラムにしようとすると編集距離を求めるアルゴリズムにいくつもの処理を加えなければならなくなり非常にめんど……わかりづらいです。 そこで今回の実装では、ノードを通る時にひとつ前に通ったノードを親ノードとして記憶することにしました。 つまり、以下のようにノードがつながっています。 プログラムではノード生成時にデータを放り込むだけです。 さて、最終ノードに到達した(ということにしておいてください)ので、こ