#二分法----》算法 #算法是高效解决问题的办法 #需求:有一个按照从小到大顺序排列的数字列表 #从列表中找到我们想要的数字,如何做才高效 import time # l=[-5,4,6,8,9,43,88,97] #低效查找--整体遍历效率太低 # a=eval(input('num:')) # start=time.time() # for i in l: # if a ==i: # print(i) # stop = time.time() # res=stop-start # print(res) #方案二:二分法 # import time # def binary_search(find_num,l): # print(l) # if len(l)==0: # print('值找不到!') # return # start=time.time() # mid_index=len(l) // 2 # mid_val=l[mid_index] # if find_num>mid_val: # list1=l[mid_index+1:] # binary_search(find_num,list1) # elif find_num<mid_val: # list2=l[:mid_index] # binary_search(find_num,list2) # else: # print('find it!') # stop = time.time() # res=stop-start # print(res) # #找到列表中间的值 # # binary_search(-5,l)
Pyhton入门之二分法
最新推荐文章于 2024-02-22 17:07:46 发布