ホームページ  >  記事  >  バックエンド開発  >  Pythonバイナリ検索

Pythonバイナリ検索

高洛峰
高洛峰オリジナル
2016-12-19 16:32:332053ブラウズ

以下は Python で実装されたバイナリ検索コードです

​​
#encoding=utf-8  
  
import sys  
  
def search2(a,m):  
    low = 0  
    high = len(a) - 1  
    while low<=high:  
        mid = (low + high)/2  
        midval = a[mid]  
  
        if midval<m:  
            low = mid + 1  
        elif midval>m:  
            high = mid-1  
        else:  
            print mid  
            return mid  
    print -1  
    return -1  
  
if __name__ == "__main__":  
  
    a = [int(i) for i in list(sys.argv[1])]  
    m = int(sys.argv[2])  
    search2(a,m)

実行テストの結果:

shao@ubuntu:~/tmp$ python test_search2.py 123456789 4  
3


Python バイナリ検索に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。