1

算法

 1. 时间复杂度.

 

 1. 列表查询 

 2. 顺序查找

 3. 二分查找: 

   特点是方法慢,需要是有序列表, 维护好一个后选区

 

 

二分查找

def binary_search(li,val):
    low =0
    high = len(li)-1
    while low <=high:
        mid =(low+high)//2
        if li[mid] ==val:
            return mid
        elif li[mid] <val :
            low =mid +1
        else :
            high =mid-1


    return None

li =list(range(0,10000,3))
print(binary_search(li,9))

 

列表排序

 

  冒泡排序

def bubble_sort(li):
    for i in range(len(li)-1):
        #第i趟
        for j in range(len(li)-i-1):
            #j 箭头位置
            if li[j]>li[j+1]:
                li[j+1],li[j]=li[j],li[j+1]

import  random
li =list(range(10))
random.shuffle(li)
print(li)
bubble_sort(li)
print(li)

  打印结果:

[7, 1, 4, 3, 2, 9, 6, 8, 5, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

 

  选择排序

 

 

  插入排序

 

 

posted @ 2018-09-11 18:41  萌哥-爱学习  阅读(127)  评论(0编辑  收藏  举报