递归有什么特点?

 我来答
教育小百科达人
2019-02-04 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:478万
展开全部

递归函数的特点:函数定义中直接或间接地调用了本函数,必定存在可使递归调用终止的条件,否则导致出现无限递归。

函数定义中所具有的这些特点是判断函数是否为递归函数的基本要素。

绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言(如Scheme)中习惯用递归来实现循环。

扩展资料:

数据类型可以通过递归来进行定义,比如一个简单的递归定义为自然数的定义:“一个自然数或等于0,或等于另一个自然数加上1”。Haskell中可以定义链表为:

   
data ListOfStrings = EmptyList | Cons String ListOfStrings

这一定义相当于宣告“一个链表或是空串列,或是一个链表之前加上一个字符串”。可以看出所有链表都可以通过这一递归定义来达到。

参考资料来源:百度百科——递归算法

百度网友f3b3e02
推荐于2017-09-22 · TA获得超过2156个赞
知道小有建树答主
回答量:821
采纳率:90%
帮助的人:586万
展开全部
递归函数的特点: 函数定义中直接或间接地调用了本函数,必定存在可使递归调用终止的条件,否则导致出现无限递归。
函数定义中所具有的这些特点是判断函数是否为递归函数的基本要素。

换言之,能用递归解决的问题通常具有两个特点:
1 有退出条件
2 外层需要用到内层算出的结果(也可能是内层需要外层的计算结果,但比较少见)
最难的地方是找出外层利用内层结果的方法,这往往需要在思考问题的过程中发现规律,纸笔是不可缺少的。
另外退出条件需要拿捏准确,这也是一个容易出错的地方。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3063114a7
2013-03-31 · TA获得超过693个赞
知道小有建树答主
回答量:666
采纳率:85%
帮助的人:230万
展开全部
函数内调用它本身,看起来优雅易懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gangstergt
2021-01-17 · TA获得超过455个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式