我使用线性间隙成本实现了全局对齐。我知道填充矩阵的运行时间是O(mn),但我没有得到的是回溯的运行时间。 这是伪代码:
我可以看到回溯的运行时间是O(n),因为我们只迭代一个循环。但有人可以给我一个很好的解释吗?
答案 0 :(得分:3)
假设i
已初始化为m
且j
已初始化为n
,则终止条件为i
或j
达到零。在循环的任一次迭代中,我们减少i
或j
或两者;在计算上,每种情况都会产生不变的成本。在至少max{m,n}
步之后,循环终止。由于输入大小可能是m*n
,即矩阵的维度,
max{m,n} <= m*n
成立,导致线性运行时间。