1.定義
假設(shè)只有三種編輯方式:插入,刪除,替換。每種編輯方式對(duì)應(yīng)一次操作。按規(guī)定的編輯方式,將原始字符串變換到目標(biāo)字符串所需的最少操作次數(shù),被稱為最小編輯距離。
Levenshtein距離中定義替換對(duì)應(yīng)兩次操作。
2.推導(dǎo)
設(shè)源字符串為A,長(zhǎng)度m,目標(biāo)字符串為B,長(zhǎng)度n。
是否存在簡(jiǎn)單情況
很明顯,兩字符串長(zhǎng)度較短時(shí)情況會(huì)比較簡(jiǎn)單。
如,m=0時(shí),插入n次;n=0時(shí),刪除n次;m=n=1且A和B不同時(shí),替換1次。簡(jiǎn)單情況到復(fù)雜情況的變量是什么
是兩個(gè)字符串的長(zhǎng)度。因此我們?cè)O(shè)最小編輯距離為。
是否存在簡(jiǎn)單情況到復(fù)雜情況的遞推關(guān)系
由1有
從向前回溯,有三條路徑,對(duì)應(yīng)三種編輯方式,
這里,
,
,
。
- 每一步取最短路徑,最后一定是最短路徑嗎?對(duì)于每次都?xì)w結(jié)于一點(diǎn)的樹形結(jié)構(gòu),這是必然的。