動態規劃 計算字串編輯距離

2021-08-19 23:26:34 字數 755 閱讀 3528

題目

設a 和b 是2 個字串。要用最少的字元操作將字串a 轉換為字串b。這裡所說的字元操作包括 (1)刪除乙個字元; (2)插入乙個字元; (3)將乙個字元改為另乙個字元。 將字串a變換為字串b 所用的最少字元運算元稱為字串a到b 的編輯距離,記為d(a,b)。試設計乙個有效演算法,對任給的2 個字串a和b,計算出它們的編輯距離d(a,b)。

輸入

第一行是字串a,檔案的第二行是字串b。字串長度不大於2000。

輸出

輸出距離d(a,b)

樣例輸入

fxpimu

xwr

樣例輸出
5

**如下:

#include #include#include #include using namespace std;   

#define n 2005

char s1[n],s2[n];

int d[n][n];

void editdistance(int len1,int len2)

else

d[i][j] = min(min(deletion,insertion),replaces);

}

printf("%d\n",d[len1][len2]);

}int main()

return 0;

}

動態規劃之字串最短編輯距離

題目描述給定兩個字串a和b,現在要將a經過若干操作變為b,可進行的操作有 刪除 將字串a中的某個字元刪除。插入 在字串a的某個位置插入某個字元。替換 將字串a中的某個字元替換為另乙個字元。現在請你求出,將a變為b至少需要進行多少次操作。輸入格式第一行包含整數n,表示字串a的長度。第二行包含乙個長度為...

動態規劃 計算字串之間的距離

levenshtein 距離,又稱編輯距離,指的是兩個字串之間,由乙個轉換成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。編輯距離的演算法是首先由 科學家levenshtein提出的,故又叫levenshtein distance。字串a a...

動態規劃 線性 DP 字串編輯距離

字串編輯距離,即 levenshtein 距離,是 科學家 vladimir levenshtein 提出的概念,是指從乙個字串修改到另乙個字串時,編輯單個字元所需的最少次數,編輯單個字元允許的操作有 替換 插入 刪除。levenshtein 距離一般用來衡量兩個字串的相似度,一般來說,兩個字串的編...