【算法-查找之二】二分查找
来源:互联网 发布:p2p网贷网站源码 编辑:程序博客网 时间:2024/06/05 21:09
算法-查找之二二分查找
顺序查找【算法-查找之一】顺序查找是最简单的查找策略,易于分析,适用于小规模数据。如果数据规模很大时,顺序查找的表现就不尽人意,此时需要寻找一个更有效率的算法-二分查找。
二分查找,也称折半查找,查找性能优异,但查找数据必须是有序序列。
1.顺序查找:
核心:先确定待查目标所在的范围,然后逐步缩小范围直到查找成功或查找失败。
关键字key与表中某一元素Array[i]比较,有3中结果:
1.key==Array[i],查找成功。
2.key > Array[i],待查元素可能的范围是Array[i]之前。
3.key < Array[i],待查元素可能的范围是Array[i]之后。
二分查找基于上述的原理:每次将可能范围中间位置的数与key比较,相等则放回查找成功,不等则缩小范围。如下图:
关键字与当前范围中间位置元素比较:
关键字>中间位置元素,则缩小后的范围:中间元素右边
通过不断地缩小查找范围,知道查找成功,或者返回查找失败。
示例 程序如下:
2.时间复杂度:
二分查找的时间复杂度为 log2(N)。
3.二分查找的评估:
二分查找的效率较高,但要求序列有序。序列排序本身就是一种高代价操作,往有序序列内插入和删除数据都比较困难。因此,二分查找特别适合于很少改动,但需要经常查找的表。
4 0
- 【算法-查找之二】二分查找
- 查找之二 , 二分查找
- 【数据结构与算法之查找算法二】二分查找
- 基础算法系列(二)查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 算法之二分查找
- 算法之二分查找
- 算法之二分查找
- 算法学习---查找(二)-二分查找
- 查找算法之二分查找算法
- 2.容器
- 每个程序员都必须遵守的编程原则
- 使用VC++2013写出短小精悍的函数
- 对象作为数据成员
- 【POJ 2349 最小生成树】
- 【算法-查找之二】二分查找
- LigerUI 界面中,加上文本框限制输入长度功能!
- IP数据报的分片与重组分析
- 关于会议
- Hibernate框架学习(三) 关系映射
- vim 查看二进制文件
- MYSQL中 ENUM 类型
- 修改web office apps 默认在浏览器中打开
- JavaScript技巧及最佳实践