算法图解中的二分查找

对于一种有序的元素列表,很多人的第一反应会是将元素一个一个的进行查找形成简单查找

二分查找是针对有序元素列表进行的查找性算法,举例说明,如果1-100数字,二分查找就是对半进行,判断数字在1-50还是51-100,如果在1-50范围内,在1-25和26-50进行查找判断。

使用python代码实例

def binary_search(list,item):
    #这是根据索引开始
    low=0
    #索引长度减一得到最高的数字值
    high=len(list)-1
    #根据二分逻辑进行循环判断
    while low<=high:
        mid=(low+high)/2
        guess=list[mid]
        if guess==item:
            return mid
        if guess>item:
            high=mid-1
        else:
            low=mid+1
     return None
mylist=[1,3,5,7,9,11,13]
print(binary_search(mylist,3))
print(binary_search(mylist,-1))

猜你喜欢

转载自blog.csdn.net/lx516109011/article/details/81672276
今日推荐