Linear Search and Binary Search
Linear search
Time complexity:\(O(n)\) 1
2
3
4
5def linear_search(ls,val):
for index,value in enumerate(ls):
if value == val:
return index
return -1
Binary search
Time complexity:\(O(log n)\) 1
2
3
4
5
6
7
8
9
10
11
12def binary_search(ls,val):
left = 0 #左指针
right = len(ls)-1 #右指针
while left <= right:
mid = (left+right)//2
if ls[mid] == val:
return mid
elif ls[mid]<val:
left = mid+1
else:
right = mid-1
return -1