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

  • 相关阅读:
    c#读取.config文件内容
    c# 读取配置文件方法
    C# Log4net详细说明
    C# 运算符集
    LeetCode 69_ x 的平方根
    LeetCode 172 _ 阶乘后的零
    LeetCode 171 _ Excel表列序号
    LeetCode 88 _ 合并两个有序数组
    LeetCode 581 _ 最短无序连续子数组
    LeetCode 283 _ 移动零
  • 原文地址:https://www.cnblogs.com/xinin0909/p/9575489.html
Copyright © 2011-2022 走看看