递归比迭代更通用吗?
对我来说,迭代意味着使用语言结构而不是子程序调用(如循环结构和/或显式goto)进行重复控制,而递归意味着使用子程序调用获得的重复控制)。在这两种情况下,哪个更通用?
发布于 2015-10-20 04:27:50
投票关闭可能会促使基于意见的响应;我的基于意见的响应是:递归更通用,因为:
相反,迭代往往是一种特定的语言级结构,只允许直接的线性遍历。
发布于 2015-10-20 04:46:51
因为它不是基于意见的,所以最合理的答案是递归和迭代都不比另一种更通用。一种语言可以是有递归但没有迭代的图灵(最小的Lisp就是这样),也可以是有迭代但没有递归的图灵( Fortran的早期版本不支持递归)。递归和迭代都被广泛使用。迭代可能更常用,因为对于每个使用Lisp或Haskell等工具学习编程的人来说,可能有十几个人使用Java或Visual Basic等工具学习编程--但我不认为“最常用”是“通用”的好同义词。
https://stackoverflow.com/questions/33223104
复制相似问题