1

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

这是公式:

公式

4

1 回答 1

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:大概您对初始元素有一些条件,以便递归不是无穷无尽的。

于 2016-03-23T23:43:20.850 回答