Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 编辑距离数据结构_Algorithm_Data Structures - Fatal编程技术网

Algorithm 编辑距离数据结构

Algorithm 编辑距离数据结构,algorithm,data-structures,Algorithm,Data Structures,我是数据结构新手,我想知道上面提到的这个图的流程,它是用来计算两个字符串之间的最小编辑距离的,在这个图中,我知道字符串1有三个长度,字符串2也有三个长度,所以教程显示了eD(3,3)中的图,那么为什么图在eD(3,2),eD(2,3),eD(2,2)中再次拆分对于2级递归。它意味着什么?请详细解释。为什么我们不能拆分第二级,像这个eD(3,2),eD(2,3) 我正在跟踪此Url: 好的,基本上在编辑距离的情况下,我们会尝试插入、更新或删除元素。因此,我们的基本方法是在每一点上尝试所有这三种可用

我是数据结构新手,我想知道上面提到的这个图的流程,它是用来计算两个字符串之间的最小编辑距离的,在这个图中,我知道字符串1有三个长度,字符串2也有三个长度,所以教程显示了eD(3,3)中的图,那么为什么图在eD(3,2),eD(2,3),eD(2,2)中再次拆分对于2级递归。它意味着什么?请详细解释。为什么我们不能拆分第二级,像这个eD(3,2),eD(2,3)

我正在跟踪此Url:


好的,基本上在编辑距离的情况下,我们会尝试插入、更新或删除元素。因此,我们的基本方法是在每一点上尝试所有这三种可用的操作,并检查哪种情况给出最佳结果

具体到您试图理解的情况,以下是场景:

eD(3,3) = eD(2,2) if str1[3] == str2[3] # Without incuring any cost, we find edit distance of the remaining strings.
          else l + min(del, ins, rep)
在哪里

del=eD(2,3)
,删除str1的最后一个字符,并查找剩余字符串的编辑距离

ins=eD(3,2)
,在str1中插入了str2的最后一个元素,因此现在我们可以找到剩余字符串之间的编辑距离。例如,
'adc'
'axf'
,如果我们在第一个字符串中添加
'f'
,它将成为
'adcf'
。因此,现在两个字符串的最后一个字符是相同的,我必须最终找到
'adc'
'ax'
之间的编辑距离,因此它变成
eD(3,2)


rep=eD(2,2)
,将str1的最后一个元素替换为str2的最后一个元素,并查找其余字符串的编辑距离。例如,
'abc'
adf
,如果我们用第二个字符串的最后一个字符替换第一个字符串的最后一个字符,我们将得到
'abf'
'adf'
,因为现在两个字符串的最后一个字符是相同的,最终我们将找到
'ab'
'ad'
之间的编辑距离。因此,
eD(2,2)

我不太明白你在问什么。你应该改写这篇文章,把它分成简单而直接的问题,同时也要说明你已经理解了多少。@RandyStegbauer我编辑了我的文章,用url@PujaSingh跟我说:对不起。我仍然看不到一个简单的直接问题,你如何解决它。请阅读。请让我知道eD(3,3)的意思是,首先x坐标表示长度为1的弦,即3,然后Y坐标表示长度为3的弦2。第二件事是eD(3,2),您提到从string2插入最后一个元素并添加到string1,那么字符串的长度不会增加?第三个eD(2,2),为什么你说用str2的最后一个元素替换str1的最后一个元素,为什么我不能在两个字符串中都说最后一个字符是removed@PujaSingh:是的,3和3表示当前字符串的长度,因为这是一种递归方法,所以在每次递归调用中,长度会减少或保持不变。我已经更新了答案,回答了你其余的疑问。