标签: algorithm computer-science proof
我正在尝试找到一种使用内存线性空间的算法:
在任意字母表中给出两个字符串x和y,确定它们最长的公共子序列。
答案 0 :(得分:3)
请注意,当您在动态编程解决方案中计算表的下一行以解决LCS问题时,您只需要前一行和当前行。然后,您可以修改动态编程解决方案,以仅跟踪前一行和当前行而不是m x n表。每次到达当前行的末尾时,都会将上一行设置为当前行,并再次从该行的开头开始。这样做m次,其中m是表中的行数。这将使用列数中的空间线性。