数据结构和算法学习笔记2020611
log都是2为底
二分查找
对有序数组查找高效 时间复杂度为O(logn)
# -*- coding:utf-8 -*-
def secondfind(a,arr):#函数传参只需传名,不需说明类型arr[]是错的
left = 0
right = len(arr)-1
while(left <= right):#注意循环条件的判断,包含等号
mid = int((left+right)/2)#下标要用int强制类型转换一下
if a == mid:#必须讨论等号情况,才能返回正确下标
return mid
elif a > mid :
left = mid + 1
else: right = mid