動的計画法・再帰 / Edit Distance(編集距離)

変換に必要な最小編集回数を
表で求める。

1 文字の挿入、削除、置換で文字列を変換する最小コストを求めます。表の各マスで 3 通りを比較します。

DP / 再帰表や木で理解定番教材

目次

このページの目次

このページでわかること

先に知っておくポイント

1. 状態が何か
2. 前の状態をどう使うか
3. なぜその漸化式になるか

概要

概要

1 文字の挿入、削除、置換で文字列を変換する最小コストを求めます。表の各マスで 3 通りを比較します。

考え方

擬似コード

dp[i][j] = min(delete, insert, replace)

要点

要点まとめ

時間計算量

O(nm)

空間計算量

O(nm)

操作

insert/delete/replace

用途

文字列類似度

補足

向いている場面と注意点

考え方

各接頭辞同士の最小変換回数を積み上げます。

LCS との違い

3 方向を比較する点が大きな違いです。

見せ方

上・左・左上の意味を言語化すると迷いません。

動きで確認

動きを見てたしかめる

ここでは「状態が何か」を見ながら、上で読んだ内容を動きと結びつけます。

注目決定的確定

次に見る

次に見るページ

比較すると違いがわかりやすいページを先に置いています。