>  기사  >  백엔드 개발  >  파이썬 바이너리 검색

파이썬 바이너리 검색

高洛峰
高洛峰원래의
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 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.