常用算法实现--python版 之二分查找
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 # added by kangye, dependent on python27 4 5 def BinarySearch(l,key): 6 low=0 7 high=len(l)-1 8 i=0 9 while(low <= high): 10 i = i+1 11 mid = low + ((high-low)>>1) 12 if(l[mid] < key): 13 low = mid + 1 14 elif (l[mid] > key): 15 high = mid -1 16 else: 17 print "use %d times" % i 18 return mid 19 return -1 20 21 if __name__ == "__main__": 22 l=[1,4,5,6,7,8,9,44,333,2233] 23 print l 24 print BinarySearch(l,4) 25 print BinarySearch(l,44) 26 print BinarySearch(l,8) 27 print BinarySearch(l,2233) 28 print BinarySearch(l,77)