首页 > 编程语言 > 详细

python 二分查找法

时间:2020-03-28 23:50:44      阅读:97      评论:0      收藏:0      [点我收藏+]

目录

二分查找法

二分查找法的局限性:只能针对从小到大排列的有列表
二分查找法的优点:可以节省内存的空间和可以提高查找的效率问题


#  定义一个列表

number_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


def binary_search(orderly_list, number):
    print(orderly_list)  # 看每次查找后的剩余部分
    if len(orderly_list) == 0:
        print(‘not exist‘)
        return
    mid_index = len(orderly_list) // 2
    if number > orderly_list[mid_index]:
        #  要查找的数字大于列表中间值说明要往右查找
        #  继续调用自己找
        binary_search(orderly_list[mid_index + 1:], number)  # 要查找的数字肯定不会变列表折半继续往右找
    elif number < orderly_list[mid_index]:
        #  要查找的数字大于列表中间值说明要往左查找
        #  继续调用自己找
        binary_search(orderly_list[0:mid_index], number)  # 要查找的数字肯定不会变列表折半继续往左找
    else:
        print(‘find exist‘)
        print(orderly_list.index(number))  # 查看找到的数字所在的列表索引位置


binary_search(number_list, 20)

"""结果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
[7, 8, 9, 10] 
[10]
[]
not exist
"""

python 二分查找法

原文:https://www.cnblogs.com/xiaolang666/p/12590196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!