二分法
来源:互联网 发布:sql 找不到指定的路径 编辑:程序博客网 时间:2024/06/08 10:51
1.特点及概念介绍
下面给大家讲解一下"二分法查找"这个java基础查找算法,那么什么是二分法呢?其实所谓的"二分法",就是一分为二的意思,综合起来理解就是一分为二的查找,但大家记住了,二分法是建立在"已经按顺序排好"的基础条件上,如果大家把这个二分法查找理解清楚了,那么会有助于你更好的理解快速排序,下面我就罗列出该算法的特点: 1.定义起始位置start(0角标),定义末位置end(lenght-1位置,即最后一位) 2.无限循环的查找一个值,先看看该值是不是在中间mid角标,mid=(star+end)/2 3.如果该值大于mid角标对应值,那么start变成mid的右边一位,如果小于,那么end就变成mid的左边一位,这样会极其的高效. 5.找到值就返回值或打印,找不着也返回-1或打印,并停止循环.
2.图文描述过程
现有需求:
1.有一个已经排列好顺序的从小到大的数组.2.请查询一个数字所在的角标位置.3.如果元素不存在,请给出如果插入,那么应该插入的位置.
3.代码详情
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
输出结果(分别找3,找14,找6)
index = 1index = 6no find, will insert in :3
4.总结:
二分法查找,又称折半查找,大家需要记住的重点有
1.已经排序好的数组2.确定最左边的start,最右边的end3.无限循环当中找mid角标对应的值,start和end会根据情况改变4.当发现start和end交叉,那么证明找不到,即如果放入该元素,那么就应该放在此时的start位置.
这就是今天给大家讲的二分(折半)查找算法,希望能帮组大家快速的理解清楚.
0 0
- 二分法~~
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 二分法
- 设计模式——观察者模式
- 数据库SQL优化大总结之 百万级数据库优化方案
- Java的单元测试和集成spring单元测试
- 阿里云服务器学生价购买方法以及将远程主机配置成服务器教程
- [POJ 3974] Palindrome (字符串哈希+二分)
- 二分法
- 配置Linux静态IP地址
- Handlder
- opencv3.0+VS2013 debug运行出错,release模式正常
- NYOJ 128 前缀式计算(待续)
- 图像细化
- Django 站点管理(Admin)
- Cordova android框架详解
- HBase学习之八:自定义hbase协处理器endpoint和遇到的问题