码迷,mamicode.com
首页 > 其他好文 > 详细

函数的递归

时间:2018-07-26 16:10:32      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:png   实现   图片   过多   while   效率   bubuko   有一个   数据   

函数的递归调用

   #递归调用是函数嵌套调用的一种特殊形式,函数在调用时,直接或间接调用了自身,就是递归调用

  修改递归最大深度

  技术分享图片

  

  函数递归调用,在调用一个函数的过程中又直接或间接地调用了自己称之为函数的递归调用
  本质就是一个重复的过程,必须有两个明确的阶段
  #1、回溯:一层一层地递归调用下去,每次进入下一层问题的规模都应该有所减少
  #2、递推:递归必须要有一个明确的结束条件,在满足该条件的情况下会终止递归,往回一层一层地结束调用


  递归vs while循环
  递归只需要把控住结束或进入递归的条件即可,至于
  循环次数或者嵌套的层数无需考虑

  技术分享图片

 

  #总结递归的使用:
  1. 必须有一个明确的结束条件

  2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

  3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,

  每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

函数的递归

标签:png   实现   图片   过多   while   效率   bubuko   有一个   数据   

原文地址:https://www.cnblogs.com/linbin7/p/9372058.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!