基礎算法---二分查找
阿新 • • 發佈:2018-05-29
最小 下標 算法 == input urn %d 一個數 while
二分查找
二分查找原理:從有序列表的候選區data[0:n]開始,通過對待查找的值與候選區中間值的比較,可以使候選區減少一半。
二分查找:在一個數組內,找到中間值,判斷要找的值和中間值大小的比較。如果中間值大一些,則在中間值的左側區域繼續按照上述方式查找。如果中間值小一些,則在中間值的右側區域繼續按照上述方式查找,直到找到我們希望的數字。
def Search(ListA,val): #low 和high代表下標 最小下標,最大下標 low=0 high=len(ListA)-1 while low <=high:# 只有當low小於High的時候證明中間有數 mid=(low+high)//2 if ListA[mid]==val: return(‘這個數在數組中的下標為:%d‘ % (mid)) #返回他的下標 elif ListA[mid]>val: high=mid-1 else: low=mid+1 else: return(‘沒有找到該值‘) # return null證明沒有找到 ListA = list(range(100)) val=input(‘輸入你要查找的值:‘) val=int(val) print(Search(ListA,val ))
基礎算法---二分查找