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

  • 相关阅读:
    图片水平垂直居中 多行文字垂直居中
    ie8支持rgba方法
    html5学习(1)
    青岛鲁银商品交易中心
    PHP 生成16 uuid
    探索区块链-挖框体验
    微信小游戏-微信提供了啥
    error: libXpm.(a|so)
    从0到9取4位不同数字的排列组合算法
    visual studio 2015 rc &cordova -hello world
  • 原文地址:https://www.cnblogs.com/xinin0909/p/9575489.html
Copyright © 2011-2022 走看看