Python学习之学校教学(二分查找法)

二分查找法:二分法查找适用于数据量较大时,但是数据需要先排好顺序。主要思想是:(设查找的数组区间为array[low, high])
(1)确定该区间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T 由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]b.array[k]

list = [1,8,32,54,66,23,55,12,34,45]
list = sorted(list)
print(list)
n = int(input("Please input the number:"))
left_index = 0;
right_index = len(list) - 1
while left_index <= right_index:
    mid_index = (left_index + right_index)
    if n > list[mid_index]:
        left_index = mid_index +1
    elif n < list[mid_index]:
        right_index = mid_index - 1
    else:
        print("找到了!")
        break

你可能感兴趣的:(python,算法)