算法之二分法

二分法

    要使用二分法,数据集必须有序

l = [1, 2, 3, 5, 6, 7, 88, 99, 101, 555, 1000, 5555, 99999]


def index(index_num, list):
    if list == []:
        print('没有该数')
        return
    mid_index = len(list) // 2
    if index_num > list[mid_index]:
        right_list = list[mid_index + 1:]
        index(index_num, right_list)
    elif index_num < list[mid_index]:
        left_list = list[:mid_index]
        index(index_num, left_list)
    else:
        print('找到了')


index(5555, l)

  缺点:找不到需要添加元素结束条件

      如果要找的数在第一个位置,还没有依次寻找的速率快

posted @ 2021-11-18 16:21  椰子皮0oo0  阅读(34)  评论(0)    收藏  举报
1