mysql二分法查找亿行_算法——二分法查找(binarySearch)
转自:https://blog.csdn.net/u012194956/article/details/79103843
二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。
二分法查找的思路如下:
(1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。
(2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。
(3)如果某一步数组为空,则表示找不到目标元素。
二分法查找的时间复杂度O(logn)。
---------------------
非递归算法:
function binarySearch(arr,key){
var low=0; //数组最小索引值
var high=arr.length-1; //数组最大索引值
while(low<=high){
var mid=Math.floor((low+high)/2);
if(key==arr[mid]){
return mid;
}else if(key>arr[mid]){
low=mid+1;
}else{
high=mid-1;
}
}
return -1; //low>high的情况,这种情况下key的值大于arr中最大的元素值或者key的值小于arr中最小的元素值
}
---------------------
递归算法:
function binarySearch(arr,low,high,key){
if(low>high){return -1;}
var mid=Math.floor((low+high)/2);
if(key==arr[mid]){
return mid;
}else if(key
high=mid-1;
return binarySearch(arr,low,high,key);
}else{
low=mid+1;
return binarySearch(arr,low,high,key);
}
}
mysql二分法查找亿行_算法——二分法查找(binarySearch)相关推荐
- c语言二分法查找一个数_算法竞赛小专题系列(1):二分法、三分法
本系列是这本算法教材的扩展资料:<算法竞赛入门到进阶>. 罗勇军.郭卫斌. 清华大学出版社 二分法和三分法是算法竞赛中常见的算法思路,本文介绍了它们的理论背景.模板代码.典型题目. 1. ...
- dataframe 查找特定值_省时省力的查找引用函数
如果觉得文章对你有帮助,欢迎点赞.转发.收藏欢迎关注头条号:数据分析鱼,你们的支持是我坚持码字的不懈动力! 上篇文章分享了日期和时间函数,这篇介绍查找引用函数.在数据量非常少的时候 ,可能并不需要使用 ...
- c语言二分法查找一个数_算法简解-二分查找
读书不记录=没读,始终是我的信条·····最近因为要参加竞赛,发现自己真的差的很远,所以打算重新开始学习一遍算法及AI的相关数学知识,相信很多人都是闻数学,理工科色变,之前也是觉得上数理课太难了,真的 ...
- MySQL探秘(七):InnoDB行锁算法
在上一篇<InnoDB一致性非锁定读>中,我们了解到InnoDB使用一致性非锁定读来避免在一般的查询操作(SELECT FOR UPDATE等除外)时使用锁.然而锁这个事情是无法避免的, ...
- mysql编辑前200行_巧妙使用SQL Server编辑前200行功能
在SQL Server 2005/2008/2008 R2中,我们可以使用SQL Server自带的编辑前200行功能,使用这个功能的本意是简化Update 的使用,让开发人员.DBA和不懂T-SQL ...
- mysql怎么打开命令行_怎么在命令行打开mysql?
在命令行打开mysql的方法:首先在cmd命令行中输入"net start mysql":然后输入"mysql -hlocalhost -uroot -p",回 ...
- mysql 获取日期每行_我如何从MySQL表行获取日期和时间
我发现了一个旧的博客脚本(非常老)在我的PC上踢脚.即时通讯从我的数据库获取日期和时间麻烦,以显示在PHP中.有人可以帮助我. 这是我的MySQL数据库设置. CREATE TABLE blog_po ...
- mysql返回前2行_取得前一次MySQL操作所影响的记录行数
转载:http://blog.csdn.net/militala/article/details/5996510> mysql_affected_rows() 返回近来一次与 连接句柄 联系关系 ...
- 查找重复文件_重复文件查找和磁盘整理工具:Tidy Up
为大家带来一款实用的重复文件查找和磁盘整理工具,Tidy Up 5 for Mac可以用来快速查找重复文件并整理硬盘,tidy up 5 mac特别版会根据文件的种类组织分离找到项目,非常的好用. t ...
最新文章
- CentOS系统安装(上):图形/文本界面安装
- 2022.3.14矮牵牛
- 全栈工程师--这才是真正的从入门到跑路
- 【Qt】Qt5.12连接MySQl5.7(亲自测试成功)
- springboot防止XSS攻击和sql注入
- java中图片与像素矩阵转换,java - Java中具有矩阵乘法的图片转换不起作用 - 堆栈内存溢出...
- Palo Alto Networks下一代安全平台五大创新功能:云安全为重中之重
- 单列变双列css_css – 右对齐双列布局丢失水平滚动条
- 第一次申请去美国面签,需要注意哪些事项提高成功率?
- 某微型计算机字长为8位,单片机课后习题答案 - 图文
- 走过电竞之路的程序员
- win7摄像头软件_【pc软件】功能强大的GIF动图制作录制工具,秒杀
- OTA 差分升级包的制作
- 中级财务管理机考计算机,2017年中级会计师考试无纸化机考技巧
- 59. 螺旋矩阵 II(中等 数组)
- vue3 watch 异步方法
- 《算法和数据结构》排序篇
- IPFS(三)源码解读之-add
- 解决 卸载Mysql后,服务还在的问题
- Android 实现全屏截图、剪裁图片、分享图片至其他应用进程功能(踩坑记录)