【发布时间】:2016-03-23 23:10:24
【问题描述】:
请帮助我理解这个公式(如果有人想知道,那就是 Needleman-Wunsch 算法),我应该编写一个使用递归的代码,但我不明白该怎么做,我已经有了编写的完整动态版本,所以我知道算法是如何工作的,但我不知道如何使用递归/堆栈来实现它。我愿意接受任何建议。
这是公式:
【问题讨论】:
标签: recursion assembly mips qtspim sequence-alignment
请帮助我理解这个公式(如果有人想知道,那就是 Needleman-Wunsch 算法),我应该编写一个使用递归的代码,但我不明白该怎么做,我已经有了编写的完整动态版本,所以我知道算法是如何工作的,但我不知道如何使用递归/堆栈来实现它。我愿意接受任何建议。
这是公式:
【问题讨论】:
标签: recursion assembly mips qtspim sequence-alignment
不清楚你有什么问题。该公式已经是递归的,没什么特别的。你知道如何创建局部变量吗?您将需要 3 个:
local i;
local j;
local max = F(i-1, j-1);
max += S(Ai, Bj);
register tmp = F(i, j-1) + d;
if (tmp > max) max = tmp;
tmp = F(i-1, j) + d;
if (tmp > max) max = tmp;
return max;
PS:大概你对初始元素有一些条件,所以递归不是无穷无尽的。
【讨论】: