Python——二分法查找

#递归实现二分法查找
data=[1,3,6,7,9,12,14,16,17,18,20,21,22,23,30,32,33,35]
def binary_search(dataset,find_num):
    print(dataset)

    if len(dataset) > 1:
        mid = int(len(dataset)/2)
        if dataset[mid]==find_num:
            print("找到数字",dataset[mid])
        elif dataset[mid] >find_num :
            print("\033[31;1m找到的数在mid[%s]左面\033[0m"% dataset[mid])
            return binary_search(dataset[0:mid],find_num)
        else:
            print("\033[32;1m找的数在mid[%s]右面\033[0m"% dataset[mid])
            return binary_search(dataset[mid+1:],find_num)
    else:
        if dataset[0]==find_num:
            print("找到数字啦",dataset[0])
        else:
            print("要找的数字[%s]不在列表里"%find_num)
binary_search(data,33)

 

转载于:https://www.cnblogs.com/zhaoxiaoxue/p/11194482.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值