美文网首页
第五讲 二分搜索(1)——模板

第五讲 二分搜索(1)——模板

作者: 天涯海角之路 | 来源:发表于2020-06-02 16:28 被阅读0次

模板

def bi_search(num_list, val):
    if len(num_list) == 0:
        return -1

    l, h = 0, len(num_list)-1
    while l+1 < h:
        mid = (l+h) // 2
        if val == num_list[mid]:
            return mid
        if val < num_list[mid]:
            h = mid
        if val > num_list[mid]:
            l = mid

    if val == num_list[l]:
        return l
    if val == num_list[h]:
        return h

    return -1

模板分为五步:

  1. 空列表判断
  2. 循环状态初始化
  3. 循环的执行条件(当碰到边界时跳出循环)
  4. 循环内部情况
  5. 边界情况

相关文章

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

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

  • 第五讲 二分搜索(1)——模板

    模板 模板分为五步: 空列表判断 循环状态初始化 循环的执行条件(当碰到边界时跳出循环) 循环内部情况 边界情况

  • 二分算法-LeetCode 69

    二分算法-LeetCode 69 二分算法 二分算法模板, 二分搜索即搜索一个数,如果存在,返回其索引,否则返回-...

  • 第五讲 二分搜索(2)——练习1

    练习1:在旋转有序数列中查找最小值 题目要求 假设有一个升序排列的数列在某个未知节点处被前后调换,请找到数列中的最...

  • 二分搜索模板

    源码,是最好的学习资料。 之前做二分查找没有一个方法准则,总是现抠代码实现的,对于边界情况总是把握不准,知道它是有...

  • 二分搜索(Binary_Search)

    1. 二分搜索是什么? 二分搜索(英语:binary search),也叫折半搜索(英语:half-interva...

  • 二分查找

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

  • 二叉查找树最难的一个操作——删除

    之前的文章我们讲了二分搜索树插入、查找、深度优先遍历,以及广度优先遍历,今天我们讲二分搜索树中最难的部分——删除。...

  • 算法-二分搜索算法

    算法:二分搜索算法(折半查找算法)时间复杂度: 二分搜索算法概述 二分搜索算法伪代码 二分搜索算法实现 二分搜索算...

  • 二分搜索

    二分搜索模板 给一个有序数组和目标值,找到第一次/最后一次/任何一次出现的索引,如果没有出现返回-1 模板四点要素...

网友评论

      本文标题:第五讲 二分搜索(1)——模板

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