av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

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)驗(yàn)。 熱誠為您提供龍州營銷型網(wǎng)站建設(shè),龍州網(wǎng)站制作、龍州網(wǎng)頁設(shè)計(jì)、龍州網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造龍州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供龍州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

下面是一個(gè)Python實(shí)現(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

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

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

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

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

3、計(jì)算中間元素的索引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)按照升序或降序排列。


網(wǎng)頁題目:python二分法查找
地址分享:http://uogjgqi.cn/article/cogeegh.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流