【发布时间】:2013-05-12 12:32:04
【问题描述】:
我真的需要一个建议。我有一个有大量递归调用的函数。其实我需要它。算法是正确的,它在 C 中有效,但在 lisp 中,由于堆栈溢出,存在问题。我应该怎么做才能解决它?如何更改算法以在 lisp 中工作?
【问题讨论】:
-
这个问题实在是太宽泛了,无法给出有意义的答案。将您的递归算法更改为迭代算法或尾递归算法,这是我们最多能说的。
-
你在编译函数吗?如果是这样:对
optimize使用什么设置? -
我看到在 Lisp 的第 42 行,你偏离了 C 正在做的事情;您以发生失控递归的方式更改了密钥检查。不用等,这是第 47 行!我的水晶球需要一个新的偏转线圈; 2 开始看起来像 7。
标签: algorithm lisp stack-overflow