Jump to content

Levenshtein distance/Alignment: Difference between revisions

Line 160:
⟳ ic:(1 |..| source.count) ¦ l_distance [ic, 1] := ic - 1 ⟲
⟳ ij:(1 |..| target.count) ¦ l_distance [1, ij] := ij - 1 ⟲
 
⟳ ic:(1 |..| source.count) ¦
jcic:(12 |..| targetsource.count) ¦
icjc:(12 |..| sourcetarget.count) ¦
if ic > 1 and jc > 1 then
if source [ic] = target [jc] then -- same letterchar
l_distance [ic, jc] := l_distance [ic - 1, jc - 1]
else -- diff letterchar
del := l_distance [ic - 1, jc] -- do we delete?
ins := l_distance [ic, jc - 1] -- do we insert?
subst := l_distance [ic - 1, jc -1] -- do we substitute/swap?
l_distance [ic, jc] := del.min (ins.min (subst)) + 1
end
end
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.