1. 程式人生 > >基礎算法---二分查找

基礎算法---二分查找

最小 下標 算法 == 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 ))

基礎算法---二分查找