搜索算法(折半查询)
来源:互联网 发布:教程网源码带后台 编辑:程序博客网 时间:2024/05/21 09:06
前言
今天做一个例题 , 用到了折半查询这个算法 , 所以记录一下.
- 折半查询的效率非常高 , 而且学习起来也非常简单 , 非常容易理解 .
代码
代码利用了泛型 , 也就是说可以支持任意类型的数组进行查询 .
- 结合代码看图 , 就非常容易理解了.
- mid表示中间的索引 , key是搜索的值.
public class BinSearch<T extends Comparable> {//继承于Comparable才可以使用compareTo进行比较. private T[] arr; public BinSearch(T[] arr) { this.arr = arr; } public int search(T key ) { int low = 0; int high = arr.length; int mid = 0; while(low <= high ) { mid = (low + high ) / 2; //先获取中间的位置 if(key.compareTo(arr[mid]) > 0 ) { low = mid + 1; //说明在中间右边 }else if (key.compareTo(arr[mid]) < 0 ){ high = mid - 1; //说明在中间左边 }else { return mid; } }}
阅读全文
0 0
- 搜索算法(折半查询)
- 二分查找(折半搜索)算法
- 折半(对半)搜索算法
- 二分查找算法、折半搜索、二分搜索
- 搜索算法-二分搜索(折半查找)
- PHP实现折半查询算法
- 两分搜索算法(折半查找算法)
- Python算法 折半搜索算法(二分法)
- 查找算法之折半搜索算法
- 二分搜索算法(折半查找)
- 分治法与折半搜索算法
- 搜索算法----二分查找(折半查找)
- Javascript算法论道: 二分搜索(折半查找)
- 折半查询
- 折半查询
- 搜索算法二分查找法(折半查找法)
- [状态压缩||折半搜索]51nod 算法马拉松3 A
- 搜索算法二分查找法(折半查找法)
- 微服务架构适用场景分析
- 云服务模式:SaaS、PaaS和IaaS
- 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
- HDU2052
- 关于python中的list知识极易弄错的地方
- 搜索算法(折半查询)
- 兄弟连学python(1)——数据类型转换
- [luogu]P1090合并果子-插入排序的简单应用
- 2017.12.06 Linux进程编辑
- 给出一百分制成绩,要求输出成绩等级
- 微服务架构之分布式事务解决方案二
- 项目实战:webpack的搭建
- python 3.6.2 TypeError: 'range' object doesn't support item deletion
- 171205 逆向-JarvisOJ(文件数据修复)