• C++基础算法---整数二分查找


    3、整数二分查找

    二分模板一共有两个,分别适用于不同情况。

    算法思路:

    1. 假设目标值在闭区间[1,r]中,每次将区间长度缩小一半,当l=r时,我们就找到了目标值
    • 版本1

    当我们将区间[1,r]划分成[1,mid][mid+1,r]时,其更新操作r = mid或者1 = mid + 1, 计算mid时不需要加1。

    int bsearch_1(int l ,int r)
    {
       while(l
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 版本2

    当我们将区间[1,r]划分成[1,mid-1][mid,r]时,其更新操作是r = mid-1或者1 = mid, 计算mid时需要加1。

    int bsearch_2(int l ,int r)
    {
       while(l
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    Word2Vec源码解读(Pytorch版本)
    springboot毕设项目畅游旅游网f92py(java+VUE+Mybatis+Maven+Mysql)
    Python实现【实时】显示处理进度的6种形式
    用Unity同时开发【微信小游戏】【安卓】【IOS】游戏#5.5.1 窗口管理器
    vue的第3篇 第一个vue程序
    Python最简单的sklearn库安装教程
    线上牛奶配送
    数据结构复杂度分析
    golang中如何比较struct,slice,map是否相等以及几种对比方法的区别
    Docker跨主机网络通信
  • 原文地址:https://blog.csdn.net/NITIQ/article/details/133994908