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

  • 相关阅读:
    bzoj 3196/tyvj p1730 二逼平衡树
    AW201 可见的点 (欧拉函数)
    P3912 素数个数
    P1029 最大公约数和最小公倍数问题
    P1835 素数密度
    P2563 [AHOI2001]质数和分解
    P1075 质因数分解
    AW199 余数之和
    AW198 反素数
    AW197 阶乘分解
  • 原文地址:https://www.cnblogs.com/xinin0909/p/9575489.html
Copyright © 2011-2022 走看看