zoukankan      html  css  js  c++  java
  • 冒泡排序算法与递归

    li = [33,2,1,10]
    
    for i in range(len(li)-1):
    //因为range(4)是0 1 2 3(不包含4),当i= 3时next_value不存在
        
        if li[i] >li[i + 1]:
            temp = li[i]
            li[i] = li[i + 1]
            li[i+1] = temp
    print (li) //把最大的放到最后

    第一次操作。以后每次操作把len(li)-1 -1

    ps:执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。

    所以,可以把这些操作外面用一个循环取代:

    for j in range(1,len(li)):
        for i in range(len(li) - j):
            if li[i] > li[i+1]:
                temp = li[i]
                li[i] = li[i+1]
                li[[i+1] = temp
    
    print (li)

    应用递归算法的最有效途径是斐波那契数列。

    斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
    def f4(a1, a2):
        print (a1)
        a3 = a1 + a2
        f4(a2, a3)
  • 相关阅读:
    void及void指针含义的深刻解析
    jbpm入门样例
    给字符数组赋值的方法
    linux tar.gz zip 解压缩 压缩命令
    android 文件上传
    职员有薪水了
    sublime配置全攻略
    [置顶] WPF数据修改demo
    Java实现快速排序
    Java实现快速排序
  • 原文地址:https://www.cnblogs.com/cmpunk/p/7652427.html
Copyright © 2011-2022 走看看