美文网首页
Python实现二分查找模板

Python实现二分查找模板

作者: 李白开水 | 来源:发表于2020-03-10 22:10 被阅读0次
  • 遇到数组的时候:
    1.排序or not
    2.数组中有无重复
    3.有无负数

模板代码实现:

def binarysearch(alist, item):
    if len(alist) == 0:  #判断数组是否为空
        return -1
    
    left, right = 0, len(alist) - 1
    while left + 1 < right:
        mid = left + (right - left) // 2
        if alist[mid] == item:
            right = mid
        elif alist[mid] < item:
            left = mid
        elif alist[mid] > item:
            right = mid
    
    if alist[left] == item: 
        return left
    if alist[right] == item:
        return right
    
    return -1

相关文章

  • 算法之二分查找

    二分查找 二分查找是著名、高效并有应用广泛的查找算法。 二分常规实现 1.循环实现 下面我用python语言实现循...

  • 二分查找

    [TOC] 二分查找的基础模板 二分查找靠左的Index基础模板 二分查找靠右的Index基础模板 二分查找插入t...

  • 算法之二分查找

    排序算法 二分查找 用于有序元素列表的查找性能: Python实现: C#实现

  • Python实现二分查找模板

    遇到数组的时候:1.排序or not2.数组中有无重复3.有无负数 模板代码实现:

  • LeetCode 数组专题 1:二分查找

    二分查找法 说明:二分查找法在代码实现上有模板方法,一定要掌握。 1、二分查找法的使用前提:数组一定要是排好序的,...

  • Python实现二分法

    Python实现二分查找 为什么需要二分查找 如果查找1-100内任意一个数字?顺序查找(简单查找)从1开始或者1...

  • Algorithm进阶计划 -- 二分搜索

    二分搜索二分搜索模板二分搜索运用 1. 二分搜索模板 二分搜索(二分查找)也称折半查找(Binary Search...

  • 二分查找模式

    二分查找通用的模板int mid = (left + right) / 2容易溢出 二分查找的通用模板 使用“左边...

  • 二分查找总结

    二分查找是在每次匹配后,将查找的空间一分为二的算法,二分查找应该是有序的数组进行查找. 二分查找模板 1. 模板一...

  • 简单算法

    冒泡排序: while 实现的二分查找: 递归实现二分查找:

网友评论

      本文标题:Python实现二分查找模板

      本文链接:https://www.haomeiwen.com/subject/nzsndhtx.html