T由數(shù)組的有序性可知array[k,k+1,……,high]>T;故新的區(qū)間為array[low,……,K-1]b.array[k]復制代碼代碼如下:#!/usr/bin/python#-*-coding:utf-8-*-def" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統(tǒng) 1673 0

1.算法:(設查找的數(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]

復制代碼 代碼如下:

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

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


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 大关县| 图木舒克市| 南澳县| 茂名市| 黑河市| 涿州市| 曲水县| 浏阳市| 祥云县| 海口市| 承德县| 禹城市| 德昌县| 武义县| 安顺市| 自治县| 左贡县| 楚雄市| 炉霍县| 嘉荫县| 玉屏| 武陟县| 兴化市| 泉州市| 建瓯市| 新邵县| 方正县| 禄劝| 桦川县| 独山县| 师宗县| 莫力| 枞阳县| 鹿泉市| 阳曲县| 江西省| 营山县| 蛟河市| 吕梁市| 崇文区| 宣威市|