一、列表查找:
index(),是线性查找,因为二分查找需要进行排序
1、顺序查找
python
def linear_search(data_set,value):
for ind,val in enumerate(data_set):
if val==value:
return ind
else:
return
时间复杂度O(n),从头到尾循环一遍
2、二分查找
python
def binary_search(data_set,value):
left=0
right=len(data_set)-1
while left<right:
mid=(left+right)//2
if data_set[mid]==value:
return mid
elif data_set[mid]<value:
left=mid+1
else:
right=mid-1
return 0
时间复杂度O(logn)