最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)二分法算法實例

 更新時間:2015年02月02日 09:39:46   投稿:junjie  
這篇文章主要介紹了Python實現(xiàn)二分法算法實例,本文先是介紹了算法規(guī)則,然后給出了實現(xiàn)例子,需要的朋友可以參考下

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

(1)確定該期間的中間位置K
(2)將查找的值T與array[k]比較。若相等,查找成功返回此位置;否則確定新的查找區(qū)域,繼續(xù)二分查找。區(qū)域確定如下:

a.array[k]>T 由數(shù)組的有序性可知array[k,k+1,……,high]>T;故新的區(qū)間為array[low,……,K-1]
b.array[k]<T 類似上面查找區(qū)間為array[k+1,……,high]。每一次查找與中間值比較,可以確定是否查找成功,不成功當前查找區(qū)間縮小一半。遞歸找,即可。

復制代碼 代碼如下:

#!/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)

結(jié)果:57

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

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

相關(guān)文章

  • 基于Python實現(xiàn)報表自動化并發(fā)送到郵箱

    基于Python實現(xiàn)報表自動化并發(fā)送到郵箱

    作為數(shù)據(jù)分析師,我們需要經(jīng)常制作統(tǒng)計分析圖表。但是報表太多的時候往往需要花費我們大部分時間去制作報表。本文將利用Python實現(xiàn)報表自動化并發(fā)送到郵箱,需要的可以參考一下
    2022-07-07
  • python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的方法

    python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的方法

    這篇文章主要給大家介紹了python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的方法,在Python中取兩位小數(shù)的方法其實非常簡單,需要的朋友可以參考下
    2023-08-08
  • Python用Pillow(PIL)進行簡單的圖像操作方法

    Python用Pillow(PIL)進行簡單的圖像操作方法

    下面小編就為大家?guī)硪黄狿ython用Pillow(PIL)進行簡單的圖像操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式

    python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式

    這篇文章主要介紹了python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python基于Floyd算法求解最短路徑距離問題實例詳解

    Python基于Floyd算法求解最短路徑距離問題實例詳解

    這篇文章主要介紹了Python基于Floyd算法求解最短路徑距離問題,結(jié)合完整實例形式詳細分析了Python使用Floyd算法求解最短路徑距離問題的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-05-05
  • 計算python腳本執(zhí)行時間的多種方法

    計算python腳本執(zhí)行時間的多種方法

    在編寫Python腳本時,了解腳本的執(zhí)行時間通常是很有用的,特別是在優(yōu)化代碼或評估性能時,Python提供了多種方法來測量腳本的執(zhí)行時間,從內(nèi)置模塊到第三方庫,可以選擇適合你需求的方式,本文將介紹計算 Python 腳本執(zhí)行時間的多種方法,需要的朋友可以參考下
    2023-11-11
  • python 循環(huán)遍歷字典元素的簡單方法

    python 循環(huán)遍歷字典元素的簡單方法

    下面小編就為大家?guī)硪黄猵ython循環(huán)遍歷字典元素的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • pandas 根據(jù)列的值選取所有行的示例

    pandas 根據(jù)列的值選取所有行的示例

    今天小編就為大家分享一篇pandas 根據(jù)列的值選取所有行的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 詳解python關(guān)于多級包之間的引用問題

    詳解python關(guān)于多級包之間的引用問題

    本文主要介紹了python關(guān)于多級包之間的引用問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • numpy中幾種隨機數(shù)生成函數(shù)的用法

    numpy中幾種隨機數(shù)生成函數(shù)的用法

    numpy是Python中常用的科學計算庫,其中也包含了一些隨機數(shù)生成函數(shù),本文主要介紹了numpy中幾種隨機數(shù)生成函數(shù)的用法,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11

最新評論

焦作市| 夏河县| 绍兴县| 滕州市| 东乌| 衢州市| 府谷县| 三门县| 喀喇沁旗| 客服| 安丘市| 衡水市| 浙江省| 莲花县| 安福县| 新巴尔虎左旗| 栾川县| 湄潭县| 留坝县| 宁陕县| 兴业县| 开江县| 固镇县| 江华| 宁陕县| 隆安县| 淄博市| 台东县| 石首市| 通化县| 双桥区| 泰兴市| 南投市| 大英县| 句容市| 广水市| 峨边| 普兰店市| 思茅市| 山阳县| 方正县|