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]
选择排序
插入排序