当前位置: 首页 > news >正文

重温二分查找算法(r4笔记第66天)

二分查找在学习算法的时候会涉及到,算是一个基本的分治思想,对于算法的实现大家也都是很熟悉的,但是这个时候真会犯眼高手低的毛病。不信你自己试试,看你能够在段时间内写出可运行的二分查找算法。二分查找算法的思想非常易于理解,但是能够写出一个准确的二分查找程序绝非一个很简单的事情,从历史上来看,而非思想早在1946年就出现了,但是第一个完全正确的二分查找算法确实在1962年出现,计算机专家曾说过,90%以上的计算机专家不能再2个小时内写出完全正确的二分查找算法。我反正是应了这句话,不过我不是计算机专家。我们来看一个比较标准的二分查找算法

  1. package new_test;

运行结果是4,即arr[4]=8其实这个算法还有一些值得思考的细节。比如求得两个数之和的平均数如果直接写为middle=(left+right)/2就很可能出现数值溢出的情况。可以使用下面的形式来避免,算法博大精深,细节决定成败。middle=left+(right-left)/2;

相关文章:

  • 不要成为技术的奴隶(一) (r4笔记第67天)
  • 最简单的web服务器实现(一)(r4笔记第68天)
  • 通过编程控制CPU利用率(r4笔记第69天)
  • 通过图表简化sql语句的表关联(r4笔记第70天)
  • 巧用外部表避免大量的insert (r4笔记第71天)
  • 海量数据迁移之数据抽取流程 (r4笔记第72天)
  • 重温快速排序(r4笔记第73天)
  • 海量数据迁移之sqlldr和datapump的缺点分析(r4笔记第74天)
  • mongoDB初探第一篇(r4笔记第75天)
  • 通过单例模式模拟RAC连接 (r4笔记第76天)
  • 特殊的物化视图刷新 (r4笔记第77天)
  • 总结nmon的诸多优点 (r4笔记第78天)
  • 不要成为技术的奴隶(二) (r4笔记第79天)
  • 清华梦的粉碎读后感--论理想主义者王垠(r4笔记第80天)
  • 浅谈Hadoop (r4笔记第81天)
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • ComponentOne 2017 V2版本正式发布
  • co模块的前端实现
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaScript函数式编程(一)
  • java正则表式的使用
  • k8s如何管理Pod
  • nginx 配置多 域名 + 多 https
  • php ci框架整合银盛支付
  • python_bomb----数据类型总结
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • ubuntu 下nginx安装 并支持https协议
  • windows下使用nginx调试简介
  • 大快搜索数据爬虫技术实例安装教学篇
  • 聊聊sentinel的DegradeSlot
  • 使用Gradle第一次构建Java程序
  • 想写好前端,先练好内功
  • 用简单代码看卷积组块发展
  • Android开发者必备:推荐一款助力开发的开源APP
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ![CDATA[ ]] 是什么东东
  • # Java NIO(一)FileChannel
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (一)UDP基本编程步骤
  • (一)插入排序
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)程序员技术练级攻略
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .Net Remoting常用部署结构