From 253a95b78cbdd118ae6a998aa6a52660bfcce01c Mon Sep 17 00:00:00 2001 From: jendapang Date: Sat, 12 Apr 2025 22:34:48 -0400 Subject: [PATCH] Recursive case --- Levenshtein_Edit_Distance.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Levenshtein_Edit_Distance.py b/Levenshtein_Edit_Distance.py index 1d98ac6..b076a99 100644 --- a/Levenshtein_Edit_Distance.py +++ b/Levenshtein_Edit_Distance.py @@ -11,4 +11,14 @@ def edit_distance(str1, str2): #input is 2 strings that we will be comparing for j in range(len(str2)+1): D[0][j] = j - # Fill in rest of matrix with recursive case + #fill in rest of matrix with recursive case + for i in range(1, len(str1)+1): + for j in range(1, len(str2)+1): + if str1[i-1] == str2[j-1]: + cost = 0 #match: no operation needed + else: + cost = 1 #no match: substitution + D[i][j] = min(D[i-1][j] + 1, D[i][j-1] + 1,D[i-1][j-1] + cost) + + return D[len(str1)][len(str2)] #last cell of matrix contains optimal solution +