zoukankan      html  css  js  c++  java
  • Python笔记:函数的递归

    递归函数 recursion
      递归是指函数直接或间接的调用自身

    递归实例:
     

    #函数直接调用自身
      def f():
          f()直接调用自身
      f()
      print(“递归完成”)
      #函数间接调用自身
      def fa():
        fb()
      def fb():
        fa()
      fa()
      print(“递归完成”)
    


    递归说明:
    递归一定要控制递归的层数,当符合某一条件时要终止递归调用
    几乎所有的递归都可以用while循环代替

    递归的优缺点:
    优点:

      可以把代码简单化,让思路更清晰,代码更简洁
    缺点:

      递归因系统环境影响大,当递归深度太大时,可能会得到不可预知
      的结果

    递归调用分为两个阶段:
      递推阶段:
          从原问题出发,按递归公式递推,从未知到已知,最终到达递归终止条件
      回归阶段
          按递归终止条件求出结果,逆向逐步代入递归公式,回归到原问题求解
    (每次局部变量都会开启新的变量空间,结束时会销毁局部变量)(Python的垃圾回收机制)

    #限制递归层数的实例
      recursion2
    def fx(n):
        print("递归进入",n,'层')
        if n==3:
            return 
        fx(n+1)
        print("递归出", n, '层')
    fx(1)
    print("程序结束")
    

     如果想要了解递归对一些实际问题的操作,欢迎看我下一篇文章https://www.cnblogs.com/xinin0909/p/9575666.html

  • 相关阅读:
    “做”的“累”
    举国默哀三天
    AjaxRequest
    客户端表单验证js
    书籍下载链接
    Html元素动态添加方法
    java文件读写操作
    查看oracle当前session
    转一篇有关Java的内存泄露的文章(受益哦)
    《高效能人士的七个习惯》摘录
  • 原文地址:https://www.cnblogs.com/xinin0909/p/9575489.html
Copyright © 2011-2022 走看看