python基础在线求解
发布网友
发布时间:2022-04-22 05:28
我来回答
共1个回答
热心网友
时间:2022-04-18 22:56
(1) 10;5;10
(2)查找成功平均次数是10(有一半成功几率应该是5次,但算法估算是去常数的,所以用O表示还是10),不成功就是10
(3)二分是4次,不成功也是4次
a=[34,56,78,87,88,90,101,112,520,888]
def binsearch(num):
start=0
end=len(a)-1
while start<=end:
mid=(start+end)//2
if num==a[mid]:
return mid
elif num>a[mid]:
start=mid+1
else:
end=mid-1
return -1
print(binsearch(8))