【问题标题】:Minimal edit distance between two circular lists?两个圆形列表之间的最小编辑距离?
【发布时间】:2013-01-14 01:23:13
【问题描述】:

给定两个循环列表,是否有一种有效的方法来计算两个列表之间的最佳对齐方式?例如,给定循环列表:

a b b c
b c a

最佳对齐方式是

a b b c
a b _ c

因为此对齐具有最小的编辑距离(注意:此最佳对齐不是且不必是唯一的)。

一种方法是计算第一个列表和第二个列表的每个循环排列之间的编辑距离,将最小编辑距离作为最佳对齐方式。有没有更有效的方法?

【问题讨论】:

    标签: algorithm circular-list


    【解决方案1】:

    假设 S1="abbc", S2="bca"

    现在让S2'=strcat(S2,S2)="bcabca",然后计算S1和S2'之间的编辑距离,你会得到

    --abbc-
    bcab-ca
    

    只是一个提示,应该考虑更多细节

    【讨论】:

    • 所以,在 strcat(,) 到其中一个字符串之后,运行类似 Needleman-Wunsch 的东西?看起来很有希望。
    最近更新 更多