如果我们在算法中使用循环而不是递归,反之亦然,那么两者是否可以起到同样的作用?例如:检查给定的字符串是否为回文.我已经看到许多程序员使用递归作为一种手段来展示一个简单的迭代算法可以适应账单.编译器在决定使用什么方面起着至关重要的作用吗?
language-agnostic algorithm recursion performance
在使用函数式语言之后,我开始在Java中使用更多的递归 - 但是语言似乎有一个相对较浅的调用堆栈,大约1000.
有没有办法让调用堆栈更大?就像在Erlang中一样,我可以创建数百万次调用的函数吗?
当我做项目欧拉问题时,我越来越注意到这一点.
谢谢.
java stack functional-programming overflow
algorithm ×1
functional-programming ×1
java ×1
language-agnostic ×1
overflow ×1
performance ×1
recursion ×1
stack ×1