私は、 Levenshtein Edit Distanceのこの単純な python 実装を一日中見てきました。
def lev(a, b):
"""Recursively calculate the Levenshtein edit distance between two strings, a and b.
Returns the edit distance.
"""
if("" == a):
return len(b) # returns if a is an empty string
if("" == b):
return len(a) # returns if b is an empty string
return min(lev(a[:-1], b[:-1])+(a[-1] != b[-1]), lev(a[:-1], b)+1, lev(a, b[:-1])+1)
から: http://www.clear.rice.edu/comp130/12spring/editdist/
指数関数的な複雑さがあることは知っていますが、その複雑さをゼロから計算するにはどうすればよいでしょうか?
私はインターネット全体を検索してきましたが、指数関数的であるという説明のみが見つかりませんでした。
ありがとう。