二分查找优化算法定义
二分查找也称折半查找(Binary Search),它是一种高效率较高的搜索方式。可是,折半查找规定线性表务必选用顺序存储构造,并且表格中原素按关键词井然有序排序
搜索全过程
最先,假定表格中原素是按升序排序,将表正中间部位纪录的关键词与搜索关键词较为,假如二者相同,则搜索取得成功;不然运用正中间部位纪录将表分为前、后2个子表,假如正中间部位纪录的关键词超过搜索关键词,则进一步搜索前一子表,不然进一步搜索后一子表。反复之上全过程,直至寻找符合条件的纪录,使搜索取得成功,或直至子表不会有截止,这时搜索失败
python 编码完成
import sys
def binarySearch(l, t):
low, high = 0, len(l) - 1
while low < high:
print(low, high)
mid = int((low high) / 2)
if l[mid] > t:
high = mid
elif l[mid] < t:
low = mid 1
else:
return mid
return False
if __name__ == '__main__':
l = [1, 4, 12, 45, 66, 99, 120, 444]
print(binarySearch(l, 12))
print(binarySearch(l, 1))
print(binarySearch(l, 13))