我已阅读this论文,该论文解释了查找最长公共子序列的算法。我在编写第352页的创建算法2的matchlist
时遇到了问题。确切地说,
它读取第一个字符串,然后它将从最后一个字母开始第二个字符串,然后扫描并按递减顺序保存这些字母是否合格。
首先,我的问题是如何为列表中的每个字母保存链表中的索引?我的意思是为第一个字符串中的每个字母创建一个列表,然后是一个子列表,用于保存字母位置在其他字符串中。
其次,我不知道如何在步骤3中找到k
。他们描述的算法的关键数据结构是阈值的数组 {{1定义为:
T_(i,k)
=最小的T_(i,k)
,j
和A[1:i]
包含一个长度为B[1:j]
的公共子序列。
对我来说令人困惑的是,在算法中,k
设置为:
THRESH[]
据我所知,将所有内容设置为固定数字。正确?
ad然后算法2中的以下行将以某种方式不正确:
for i= 1 step 1 until n do
TRESH[i] := n + 1;
你可以告诉我你对它的评论吗?我确实需要一些提示!