zoukankan      html  css  js  c++  java
  • python 实现递归

    递归:递归就是自己调用自己,(递归是在一种直接或者简介调用自身的过程)
    1:递归就是在过程或函数力调用自身
    2:在使用递归策率时,必须要有一个明确的递归结束条件,称为递归的出口;
    3:递归算法解题通常显的很简洁,但是递归算法解题的运行效率较低,所以一般不提倡递归算法设计程序;
    4:在递归调用的过程当中系统为每一层的返回点,局部变量开辟了栈来存储,递归次数过多会造成栈溢出,
    
    要求:
    1:每次在调用的时候在规模上有所减少
    2:相邻两次之间有紧密的联系前一次腰围后一次做准备(通常前一次的输出就作为后一次的输入)
    3:问题的规模极小时必须直接给出解答而不再进行递归调用,因为每一次递归都是有条件的,
    
    
    # 递归执行了多少层,还要往外退出多少层
    # coding:utf8
    __author__ = 'bluesli'
    
    
    def calc(n):
        print(n)
        if n/2 >1:
            res = calc(n/2)
            print res#这里没有返回的化上一层就没有结束,还会来执行;
        print('n',n)
    
    
    calc(10)
    
    

    # 递归执行了多少层,还要往外退出多少层

    结果:

    递归过程:

    105.02.51.25n 1.25

    退出递归的过程:Nonen 2.5Nonen 5.0Nonen 10

  • 相关阅读:
    python_xrange和range的异同
    python_学习笔记
    Python IDLE快捷键一览
    Git命令详解
    Git 分支-利用分支进行开发的工作流程
    JavaScript-面向对象
    getWritableDatabase()与getReadableDatabase()的区别:
    「学习笔记」爬山算法与模拟退火
    python基础2
    python基础1
  • 原文地址:https://www.cnblogs.com/bluesl/p/9079701.html
Copyright © 2011-2022 走看看