Python通过二分查找,查询有序列表中元素的下标

Python通过二分查找,查询有序列表中元素的下标

  • 为什么使用二分查找?

    因为二分查找可以快速的查找一个有序列表中的元素
    
    注意:查找的对象必须是一个有序的列表!!!!
    
  • 代码示例

    • 通过while循环的方式可以查询出对应的下标,元素不存在在列表中返回-1,就相当于手动给python列表实现了String(字符串)的find方法。
      (注:代码是在下花了四个小时绞尽脑汁才想出来的,肯定还是有不足的地方,比如每次循环都要判断right-left==1)
    def BinarySearch(item, list):
        '''
        二分查找有序列表中的元素
        :param item: 需要查找的元素
        :param list: 列表
        :return: 查找到返回元素在list中的下标,反之返回-1
        '''
        end_time = False  # 结束时间
        left = 0  # 左下标,初始值为0
        right = len(list)  # 右下标,初始值为列表的长度
        while left < right:
            if right - left == 1:  # 判断是否在做最后一次运算   right - left == 1 表示已经开始进行最后一个元素的判断
                if end_time == True<
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值