数据算法之折半查找(binSearch)的Java实现
2017-05-08 00:00
246 查看
本文的代码来自于《数据结构与算法(JAVA语言版)》,是笔者在网上找到的资料,非正式出刊版物。笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论。
折半查找的基本思想是在有序数组中选定最中间的值,然后与待查找的值相比对,然后再进行折半查找。
如图所示
输入:整型数组s,查找范围low、high,待查关键字key
输出:查找结果在s 中的位置
代码:
折半查找的基本思想是在有序数组中选定最中间的值,然后与待查找的值相比对,然后再进行折半查找。
如图所示
输入:整型数组s,查找范围low、high,待查关键字key
输出:查找结果在s 中的位置
代码:
public int binSearch(int[] s, int low, int high, int key){ while(low<=high){ int mid = (low + high)/2; if (s[mid]==key) return mid; else if (s[mid]>key) high = mid - 1; else low = mid + 1; } return -1; }
相关文章推荐
- 数据算法之折半查找(binSearch)的Java实现
- 数据算法之二叉树平衡(BinTreeNode Rotate)的Java实现
- 数据算法之二叉树查找(BinaryTreeL Search)的Java实现
- 数据算法之折半插入排序(binInsertSort)的Java实现
- 数据算法之折半插入排序(binInsertSort)的Java实现
- 数据结构与算法——二分查找法(Java实现)
- 数据挖掘:K最近邻(KNN)算法的java实现
- 数据结构与算法——基数排序简单Java实现
- 数据挖掘-基于Kmeans算法、MBSAS算法及DBSCAN算法的newsgroup18828文本聚类器的JAVA实现(上)
- 【LeetCode-面试算法经典-Java实现】【074-Search a 2D Matrix(搜索二维矩阵)】
- 【数据结构与算法】汉诺塔算法——java递归实现
- 算法——数据结构图的最短路径实现JAVA代码
- (4) 数据结构与算法 ---- 线性表 及Java实现 顺序表、链表、栈、队列
- 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的JAVA实现(下)
- 【LeetCode-面试算法经典-Java实现】【033-Search in Rotated Sorted Array(在旋转数组中搜索)】
- 面试准备--数据结构与算法(二)--栈的图文解析及其java实现
- 机器学习与数据挖掘-K最近邻(KNN)算法的实现(java和python版)
- 数据算法基于FPGA的图像处理(七)--Verilog实现均值滤波Strut2教程-java教程
- 数据挖掘10大算法(6)-K最近邻(KNN)算法的实现(java和python版)
- 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(上)