MiPS ASM递归理解问题?

时间:2016-03-23 23:10:24

标签: recursion assembly mips qtspim sequence-alignment

请帮助我理解这个公式(如果有人想知道,那就是Needleman-Wunsch算法),我应该写一个使用递归的代码,但我不明白怎么做,我已经有了完整的动态版本,所以我知道算法是如何工作的,但我不知道如何用递归/堆栈来实现它。我愿意接受任何建议。

这是公式:

Formula

1 个答案:

答案 0 :(得分:1)

目前还不清楚你有什么问题。那个公式已经递归,没什么特别的。你知道如何创建局部变量吗?你需要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:大概你有一些初始元素的条件,所以递归不是无止境的。