首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >哪个是更通用的递归或迭代?

哪个是更通用的递归或迭代?
EN

Stack Overflow用户
提问于 2015-10-20 04:14:09
回答 2查看 85关注 0票数 0

递归比迭代更通用吗?

对我来说,迭代意味着使用语言结构而不是子程序调用(如循环结构和/或显式goto)进行重复控制,而递归意味着使用子程序调用获得的重复控制)。在这两种情况下,哪个更通用?

EN

回答 2

Stack Overflow用户

发布于 2015-10-20 04:27:50

投票关闭可能会促使基于意见的响应;我的基于意见的响应是:递归更通用,因为:

  1. 这只是一个函数调用的用户案例,而
  2. 递归捕获了直接的一对一重复模式和更复杂的模式,如树遍历、分割和征服等。

相反,迭代往往是一种特定的语言级结构,只允许直接的线性遍历。

票数 2
EN

Stack Overflow用户

发布于 2015-10-20 04:46:51

因为它不是基于意见的,所以最合理的答案是递归和迭代都不比另一种更通用。一种语言可以是有递归但没有迭代的图灵(最小的Lisp就是这样),也可以是有迭代但没有递归的图灵( Fortran的早期版本不支持递归)。递归和迭代都被广泛使用。迭代可能更常用,因为对于每个使用Lisp或Haskell等工具学习编程的人来说,可能有十几个人使用Java或Visual Basic等工具学习编程--但我不认为“最常用”是“通用”的好同义词。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33223104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档