python實現二分查找
阿新 • • 發佈:2018-01-04
name false 如果 pan color 代碼 速度 span print
二分法查找:在一組有序的數據中進行查找,首先與中間的數先比較,如果查找的數大於中間的數,則要查找的數在前半段,否則在後半段,這樣就會排除一半的數據,如此遞歸進行下去,則會極大的提高查找的速度。下面利用python代碼實現二分查找
def binary_search(array,key): low = 0 high = len(array) - 1 while low < high: mid = int((low + high)/2) if key < array[mid]: high = mid - 1 elifkey > array[mid]: low = mid + 1 else: return mid return False def main(): array = [1,2,3,4,5,6,7,8,9,10,14,15,17,21,24,28,35,35,37,39] result = binary_search(array,7) print(result) if __name__ == ‘__main__‘: main()
排序後會返回所查數據在列表中的索引,如果沒查找到返回False
python實現二分查找