最长公共子序列C(Python脚本解释)
Longest Common Subsequence C (Python Script explanation)
最近几天,我一直在使用动态规划在 C 中编写最长公共子序列程序。不过,我遇到了内存问题,因为我正在尝试处理大量数据(我的意思是很多),这会导致内存溢出。
幸运的是,我找到了一个线性 space 复杂度算法,它在避免内存溢出方面很有用,但它是用 Python 编写的。有人可以帮助我理解下图中发生的事情吗?
更具体我不明白"curr = list(itertools.repeat(0, 1 + ny))"
中发生了什么
剩下的我可以猜到。
提前致谢!
这是它的工作原理:
通过代码 my=len(ys)
读取 ys 的长度,在 "Chimpanzee" 示例中为 10
你的itertools.repeat会list(itertools.repeat(1,11))
会给你一个11次的列表
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
就像你说的休息你已经想通了。
有关重复的更多信息,请查看:
最近几天,我一直在使用动态规划在 C 中编写最长公共子序列程序。不过,我遇到了内存问题,因为我正在尝试处理大量数据(我的意思是很多),这会导致内存溢出。
幸运的是,我找到了一个线性 space 复杂度算法,它在避免内存溢出方面很有用,但它是用 Python 编写的。有人可以帮助我理解下图中发生的事情吗?
更具体我不明白"curr = list(itertools.repeat(0, 1 + ny))"
中发生了什么剩下的我可以猜到。
提前致谢!
这是它的工作原理:
通过代码
my=len(ys)
读取 ys 的长度,在 "Chimpanzee" 示例中为 10你的itertools.repeat会
list(itertools.repeat(1,11))
会给你一个11次的列表[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
就像你说的休息你已经想通了。
有关重复的更多信息,请查看: