日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python二分法查找

二分查找(Binary Search)是一種在有序數(shù)組中查找特定元素的搜索算法,它的工作原理是每次比較數(shù)組中間元素與目標(biāo)值,如果中間元素正好等于目標(biāo)值,則查找成功;如果目標(biāo)值小于中間元素,則在數(shù)組的左半部分繼續(xù)查找;如果目標(biāo)值大于中間元素,則在數(shù)組的右半部分繼續(xù)查找,通過不斷縮小查找范圍,直到找到目標(biāo)值或者查找范圍為空。

創(chuàng)新互聯(lián)公司專注于龍州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供龍州營銷型網(wǎng)站建設(shè),龍州網(wǎng)站制作、龍州網(wǎng)頁設(shè)計、龍州網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造龍州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供龍州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

下面是一個Python實現(xiàn)的二分查找函數(shù):

def binary_search(arr, target):
    left, right = 0, len(arr) 1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid 1
    return 1

這個函數(shù)接受兩個參數(shù):一個有序數(shù)組arr和一個目標(biāo)值target,函數(shù)返回目標(biāo)值在數(shù)組中的索引,如果目標(biāo)值不存在于數(shù)組中,則返回1。

現(xiàn)在我們來詳細(xì)解釋一下這個函數(shù)的實現(xiàn)過程:

1、初始化兩個指針leftright,分別指向數(shù)組的第一個元素和最后一個元素。

2、使用while循環(huán),當(dāng)left小于等于right時,執(zhí)行循環(huán)體,這是因為如果left大于right,說明查找范圍已經(jīng)為空,目標(biāo)值不存在于數(shù)組中。

3、計算中間元素的索引mid,這里使用整數(shù)除法//,以避免出現(xiàn)小數(shù)。

4、比較中間元素arr[mid]與目標(biāo)值target

如果arr[mid]等于target,說明找到了目標(biāo)值,返回其索引mid

如果arr[mid]小于target,說明目標(biāo)值位于數(shù)組的右半部分,將left更新為mid + 1。

如果arr[mid]大于target,說明目標(biāo)值位于數(shù)組的左半部分,將right更新為mid 1

5、如果循環(huán)結(jié)束后仍未找到目標(biāo)值,說明目標(biāo)值不存在于數(shù)組中,返回1。

需要注意的是,二分查找算法要求輸入的數(shù)組是有序的,在使用二分查找之前,請確保數(shù)組已經(jīng)按照升序或降序排列。


文章題目:python二分法查找
鏈接URL:http://m.5511xx.com/article/cogeegh.html