欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python二分法實現實例

 更新時間:2013年11月21日 11:31:07   作者:  
這篇文章主要介紹了python二分法的實現代碼,大家可以參考使用

1.算法:(設查找的數組期間為array[low, high])

(1)確定該期間的中間位置K
(2)將查找的值T與array[k]比較。若相等,查找成功返回此位置;否則確定新的查找區(qū)域,繼續(xù)二分查找。區(qū)域確定如下:
a.array[k]>T 由數組的有序性可知array[k,k+1,……,high]>T;故新的區(qū)間為array[low,……,K-1]
b.array[k]<T 類似上面查找區(qū)間為array[k+1,……,high]。每一次查找與中間值比較,可以確定是否查找成功,不成功當前查找區(qū)間縮小一半。遞歸找,即可。

2.python代碼:

復制代碼 代碼如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

def BinarySearch(array,t):
    low = 0
    height = len(array)-1
    while low < height:
        mid = (low+height)/2
        if array[mid] < t:
            low = mid + 1

        elif array[mid] > t:
            height = mid - 1

        else:
            return array[mid]

    return -1


if __name__ == "__main__":
    print BinarySearch([1,2,3,34,56,57,78,87],57)

結果:57

3.時間復雜度:O(log2n);

注意:二分查找的前提必須待查找的序列有序。

相關文章

  • python 將字符串轉換成字典dict的各種方式總結

    python 將字符串轉換成字典dict的各種方式總結

    下面小編就為大家分享一篇python 將字符串轉換成字典dict的各種方式總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 利用Python小工具實現3秒鐘將視頻轉換為音頻

    利用Python小工具實現3秒鐘將視頻轉換為音頻

    這篇文章主要介紹了利用Python小工具實現 3秒鐘將視頻轉換為音頻效果,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Python+PyQt5實現數據庫表格動態(tài)增刪改

    Python+PyQt5實現數據庫表格動態(tài)增刪改

    這篇文章主要為大家介紹如何利用Python中的PyQt5模塊實現對數據庫表格的動態(tài)增刪改,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-03-03
  • SQLite3中文編碼 Python的實現

    SQLite3中文編碼 Python的實現

    下面小編就為大家?guī)硪黄猄QLite3中文編碼 Python的實現。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • python使用鎖訪問共享變量實例解析

    python使用鎖訪問共享變量實例解析

    這篇文章主要介紹了python使用鎖訪問共享變量實例解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • python獲取全國城市pm2.5、臭氧等空氣質量過程解析

    python獲取全國城市pm2.5、臭氧等空氣質量過程解析

    這篇文章主要介紹了python獲取全國城市pm2.5、臭氧等空氣質量過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 兒童編程python入門

    兒童編程python入門

    很多家長都想讓孩子學習編程,今天我們給大家分享一下關于兒童python的入門以及簡單的代碼,有興趣的朋友閱讀下吧。
    2018-05-05
  • 分享4個方便且好用的Python自動化腳本

    分享4個方便且好用的Python自動化腳本

    自動化測試是把以人為驅動的測試行為轉化為機器執(zhí)行的一種過程,直白的就是為了節(jié)省人力、時間或硬件資源,提高測試效率,這篇文章主要給大家分享介紹了3個方便且好用的Python自動化腳本,需要的朋友可以參考下
    2022-02-02
  • python代碼能做成軟件嗎

    python代碼能做成軟件嗎

    在本篇內容里小編給大家分享的是一篇關于把python代碼做成軟件的方法,有興趣的朋友們可以閱讀下。
    2020-07-07
  • python中的json模塊常用方法匯總

    python中的json模塊常用方法匯總

    這篇文章主要介紹了python中的json模塊常用方法匯總,json模塊可以實現json數據的序列化和反序列化,更多相關資料介紹需要的小伙伴可以參考一下下面文章內容
    2022-06-06

最新評論