【python】二分查找

简介: 【python】二分查找

注:最后有面试挑战,看看自己掌握了吗

二分查找Binary Search

终于做出来了,实在太生疏了,就一个=号,要了我的亲命!

while low<=high:

def binarysearch(list,a):
    print(list,a)
    low=0;
    high=len(list)-1
    a=int(a)
    while low<=high:
        mid =int( (low + high) / 2)
        print(mid,low,high)
        if list[mid]==a:
            return mid
        elif list[mid]>a:
            high=mid-1
        elif list[mid]<a:
            low = mid+1
if '__main__' == __name__:
    list = [2,6,8,9,14]
    a= 9
    print(binarysearch(list,a))
[2, 6, 8, 9, 14] 9
2 0 4
3 3 4
3

🌸I could be bounded in a nutshell and count myself a king of infinite space.

特别鸣谢:木芯工作室 、Ivan from Russia


相关文章
|
7月前
|
算法 索引 Python
Python中如何实现二分查找?请提供代码示例。
Python中如何实现二分查找?请提供代码示例。
81 0
|
1月前
|
Python
二分查找变种大赏!Python 中那些让你效率翻倍的搜索绝技!
二分查找是一种高效的搜索算法,适用于有序数组。其基本原理是通过不断比较中间元素来缩小搜索范围,从而快速找到目标值。常见的变种包括查找第一个等于目标值的元素、最后一个等于目标值的元素、第一个大于等于目标值的元素等。这些变种在实际应用中能够显著提高搜索效率,适用于各种复杂场景。
42 9
|
1月前
|
算法 数据处理 开发者
超越传统:Python二分查找的变种策略,让搜索效率再上新台阶!
本文介绍了二分查找及其几种Python实现的变种策略,包括经典二分查找、查找第一个等于给定值的元素、查找最后一个等于给定值的元素以及旋转有序数组的搜索。通过调整搜索条件和边界处理,这些变种策略能够适应更复杂的搜索场景,提升搜索效率和应用灵活性。
38 5
|
5月前
|
算法 数据挖掘 数据处理
搜索新境界:Python二分查找变种实战,精准定位数据不是梦!
【7月更文挑战第13天】二分查找算法以O(log n)效率在有序数组中查找数据。基础算法通过不断分割数组对比中间元素。Python实现变种包括:1) 查找目标值的第一个出现位置,找到后向左搜索;2) 查找目标值的最后一个出现位置,找到后向右搜索。这些变种在数据分析和索引构建等场景中极具价值,提升处理效率。
65 6
|
5月前
|
Python
二分查找变种大赏!Python 中那些让你效率翻倍的搜索绝技!
【7月更文挑战第12天】二分查找是高效搜索算法,适用于有序数组。基础原理是对比中间元素,按目标值大小在左右两侧递归查找。
44 4
|
4月前
|
Python
【Leetcode刷题Python】704. 二分查找
解决LeetCode "二分查找" 问题的Python实现代码。
21 0
|
4月前
|
算法 索引 Python
【Leetcode刷题Python】34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)
解决LeetCode "在排序数组中查找元素的第一个和最后一个位置" 问题的方法。第一种方法是使用两次二分查找,首先找到目标值的最左边界,然后找到最右边界。第二种方法是利用Python的list.index()方法,先正序找到起始位置,再逆序找到结束位置,并给出了两种方法的Python实现代码。
70 0
|
5月前
|
算法 数据处理 开发者
超越传统:Python二分查找的变种策略,让搜索效率再上新台阶!
【7月更文挑战第11天】二分查找算法在有序数组中以O(log n)效率搜索元素。本文扩展了这一概念,介绍了3种Python变种:1) 查找第一个匹配值的位置,2) 找到最后一个匹配值,3) 在旋转有序数组中搜索。通过调整边界条件,这些变种增强了二分查找的适用性。代码示例展示了如何实现这些策略,以优化不同场景下的搜索效率。
30 0
|
7月前
|
算法 开发者 索引
深入理解Python中的二分查找与bisect模块
深入理解Python中的二分查找与bisect模块
|
7月前
|
机器学习/深度学习 存储 算法
Python排序——二分查找
Python排序——二分查找
64 0