您当前的位置:首页 > 电脑百科 > 程序开发 > 算法

二分法搜索算法

时间:2022-02-14 15:12:33  来源:今日头条  作者:北美程序员的自我修养

之前说过,二分法算法是一种非常常见的算法。这里大概说说算法的内容。具体算法如果有兴趣,去百度、维基百科,搜搜就都能找到。我就不做搬运工了。这里就我个人的理解,不严谨的说说。

在排序好的一列大小为n的数组A[],找数字num。设left=0,right=n-1:

while(left<=right){

mid = (left + right)/2;

if (A[mid] == num) return mid;

if (A[mid] < num) left = mid + 1;

if (A[mid] > num) right = mid - 1;

}

return -1;

这里面 mid是我们找的中间点。如果正好找到了,那就直接返回不用继续找了。如果num比中间点的数大,那左边就移动到中间点的右边。这样搜索的范围就小了一半。反之,则把右边移到中间点的左边。

最终如果已经搜素过了整个范围,left已经大于right,我们还没有找到num,那就是这个数组里没有这个数。这里我用一个数组里并不存在的index,-1,来表示。

这个看起来简单,但在实际的实现中,还有很多要注意的地方,这个以后有机会再说。

总之,上面已经给出了了最基本的二分法搜索算法:通过每次重新界定左右边界来缩小一半的搜索范围。



Tags:算法   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
之前说过,二分法算法是一种非常常见的算法。这里大概说说算法的内容。具体算法如果有兴趣,去百度、维基百科,搜搜就都能找到。我就不做搬运工了。这里就我个人的理解,不严谨的说...【详细内容】
2022-02-14  Tags: 算法  点击:(0)  评论:(0)  加入收藏
简而言之,算法是定义一系列动作的一组步骤。它也可以描述为一组旨在实现特定目标或解决特定问题的命令。算法主要在数学和计算机科学领域使用和研究,但它们也可能与其他上下文...【详细内容】
2022-02-14  Tags: 算法  点击:(1)  评论:(0)  加入收藏
Apollo里面最重要的模块就是感知和规划模块,规划模块最重要的是路径规划和速度规划任务,对应ROS机器人里面的局部规划。Apollo的规划模块首先根据当前的情况进行多场景(scenari...【详细内容】
2022-02-11  Tags: 算法  点击:(8)  评论:(0)  加入收藏
我们已经进入了出门只需一部手机即可走天下的时代。曾几何时,互联网似乎变得越来越了解我们,在一个软件上搜索商品,其他平台上立刻就会有相关广告位推荐。大数据在贴心和便利的...【详细内容】
2022-02-10  Tags: 算法  点击:(8)  评论:(0)  加入收藏
近日,有消息称,抖音正在内测新算法,推荐逻辑将从“账号标签”机制向“粉丝成长”机制转变。据悉,受这一变化影响,平台内不少账号都感受到了“流量腰斩”和粉丝下滑,其中近30天内,明...【详细内容】
2022-02-10  Tags: 算法  点击:(10)  评论:(0)  加入收藏
当我们需要对数据集进行聚类时,我们可能首先研究的算法是 K means, DBscan, hierarchical clustering 。 那些经典的聚类算法总是将每个数据点视为一个点。 但是,这些数据点在...【详细内容】
2022-01-26  Tags: 算法  点击:(18)  评论:(0)  加入收藏
或许有些朋友可能仍然会有疑惑:为什么非要从抖音引流到站外或私域呢?事实上原因不只有一个,我之前有提到过,无论是受限于平台亦或流量成本居高不下,其中最重要的一个当然是为了更...【详细内容】
2022-01-24  Tags: 算法  点击:(12)  评论:(0)  加入收藏
抖音SEO是什么?在说抖音SEO是什么之前,我们先简单说说抖音这个工具。抖音,是一款音乐创意短视频软件。2016年9月20日上线,是一个面向全年龄的音乐短视频社区平台。2019年12月,抖...【详细内容】
2022-01-20  Tags: 算法  点击:(18)  评论:(0)  加入收藏
近日,国家互联网信息办公室、工业和信息化部、公安部、国家市场监督管理总局联合发布《互联网信息服务算法推荐管理规定》(以下简称《规定》),自2022年3月1日起施行。国家互联网...【详细内容】
2022-01-06  Tags: 算法  点击:(21)  评论:(0)  加入收藏
央视网消息:近年来,算法应用在给经济、社会发展注入新动能的同时,算法歧视、“大数据杀熟”、诱导沉迷等算法不合理应用也给我们的生活带来烦恼。针对这些问题,国家网信办等四部...【详细内容】
2022-01-06  Tags: 算法  点击:(19)  评论:(0)  加入收藏
▌简易百科推荐
之前说过,二分法算法是一种非常常见的算法。这里大概说说算法的内容。具体算法如果有兴趣,去百度、维基百科,搜搜就都能找到。我就不做搬运工了。这里就我个人的理解,不严谨的说...【详细内容】
2022-02-14  北美程序员的自我修养  今日头条  Tags:算法   点击:(0)  评论:(0)  加入收藏
简而言之,算法是定义一系列动作的一组步骤。它也可以描述为一组旨在实现特定目标或解决特定问题的命令。算法主要在数学和计算机科学领域使用和研究,但它们也可能与其他上下文...【详细内容】
2022-02-14  兔子社区    Tags:算法   点击:(1)  评论:(0)  加入收藏
Apollo里面最重要的模块就是感知和规划模块,规划模块最重要的是路径规划和速度规划任务,对应ROS机器人里面的局部规划。Apollo的规划模块首先根据当前的情况进行多场景(scenari...【详细内容】
2022-02-11  慢慢的回味    Tags:二次规划算法   点击:(8)  评论:(0)  加入收藏
当我们需要对数据集进行聚类时,我们可能首先研究的算法是 K means, DBscan, hierarchical clustering 。 那些经典的聚类算法总是将每个数据点视为一个点。 但是,这些数据点在...【详细内容】
2022-01-26  deephub    Tags:RVN   点击:(18)  评论:(0)  加入收藏
矩阵结合律对于如何影响我们的生活,下面是我个人的一点浅薄理解。 1、使得计算机设计得更简单。 2、加速计算机运算 忙碌的996初识矩阵时你是否困扰过:为什么搞出矩阵这样的怪...【详细内容】
2022-01-24  程序员写个解    Tags:矩阵   点击:(18)  评论:(0)  加入收藏
一、什么是选择排序1.1、文字描述选择排序是一种简单直观的排序方式,它的工作原理是每一次排序时先从待处理数据元素中选择出一个最大(或最小)的元素,并存放在序列的末尾(起始)位...【详细内容】
2022-01-04  晓掌柜丶韶华    Tags:排序算法   点击:(37)  评论:(0)  加入收藏
前言Kafka 中有很多延时操作,比如对于耗时的网络请求(比如 Produce 是等待 ISR 副本复制成功)会被封装成 DelayOperation 进行延迟处理操作,防止阻塞 Kafka请求处理线程。Kafka...【详细内容】
2021-12-27  Java技术那些事    Tags:时间轮   点击:(45)  评论:(0)  加入收藏
博雯 发自 凹非寺量子位 报道 | 公众号 QbitAI在炼丹过程中,为了减少训练所需资源,MLer有时会将大型复杂的大模型“蒸馏”为较小的模型,同时还要保证与压缩前相当的结果。这就...【详细内容】
2021-12-24  量子位    Tags:蒸馏法   点击:(72)  评论:(0)  加入收藏
分稀疏重建和稠密重建两类:稀疏重建:使用RGB相机SLAMOrb-slam,Orb-slam2,orb-slam3:工程地址在: http://webdiis.unizar.es/~raulmur/orbslam/ DSO(Direct Sparse Odometry)因为...【详细内容】
2021-12-23  老师明明可以靠颜值    Tags:算法   点击:(40)  评论:(0)  加入收藏
1. 基本概念希尔排序又叫递减增量排序算法,它是在直接插入排序算法的基础上进行改进而来的,综合来说它的效率肯定是要高于直接插入排序算法的;希尔排序是一种不稳定的排序算法...【详细内容】
2021-12-22  青石野草    Tags:希尔排序   点击:(38)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条