zoukankan      html  css  js  c++  java
  • 冒泡排序、二分查找、选择排序、斐波那契

    冒泡排序
    def buttle_sort(li):
        for i in range(len(li)-1):#     x 就是  1 到 传过来的这个参数的长度总值
            for j in range(len(li)-i-1):   #  i 就是 传过来的列表长度 - 去  x
                if li[j] > li[j+1]::    #  如果下标i  小于i+1
                    li[j],li[j+1] = li[j+1],li[j]  # 那么  下标i  与 下标 i+1  互换位置
    li = [3,6,4,8,5,3]
    buttle_sort(li)
    print(li)

    二分查找

    def func(alist, item):
        low = 0
        high = len(alist)-1
        n = 0
        while low <= high:
            mid = int((low + high)/2)
            n += 1
            if alist[mid]==item:
                return mid
            if alist[mid]<item:
                low = mid + 1
            else:
                high = (mid-1)
        return None
    
    m=[1,2,3,4,8,9,11,12,14,18,19,20,28]
    print(func(m,14))
    

    选择排序

    def func(alist):
        for x in range(0,len(alist)):   #  x 就是  1 到 传过来的这个参数的长度总值
            min_num = alist[x]          #  min_num就等于每次循环的下标对应数字
            for i in range(x+1,len(alist)):     #  循环下标x+1 到所有下标长度
                if alist[i] > min_num:  # 如果下标i的参数大于min_num  >号是降序   < 是升序
                    alist[i], min_num = min_num, alist[i] # 互换位置(参数)
            alist[x] = min_num  
        return alist # 返回排序过的列表
    print(func([1,4,2,3,6,7,8,9,0,5]))  # 向func函数传递参数

    斐波那契

    数列,又称黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,
    指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以递归的方法定义。

    	lis = []
    	for i in range(8):
    	    if i == 0 or i == 1:  # 第1,2项 都为1
    	        lis.append(1)
    	    else:
    	        lis.append(lis[i - 2] + lis[i - 1])  # 从第3项开始每项值为前两项值之和
    	print(lis)
     
  • 相关阅读:
    微信js sdk动态引用
    mysql
    github 常用
    使用Win32DiskImager后重置SD卡
    nuxt generate静态化后回退问题
    nuxt.config有关router配置
    vue本人常用插件汇总(常更新)
    Windows Server 2008 IIS 并发请求设置
    Python 高级编程 ——观察者模式
    MYSQL语句大全
  • 原文地址:https://www.cnblogs.com/lhchao/p/14151264.html
Copyright © 2011-2022 走看看