Java的二分查找
今天学习了二分查找,虽然代码简单,但还是要有必要,记录一下今天的学习的。
public class TestBrinarySeach {
public static void main(String[] args) {
int[] arr = {24,32,15,56,39,44,87,65,59};
Arrays.sort(arr);
int value = 39;//要查找的值
System.out.println(Arrays.toString(arr));
System.out.println(myBrinarySeach(arr, value)+1);
}
public static int myBrinarySeach(int[] arr,int value){
int low = 0;
int high = arr.length-1;
while(low<=high){
int mid = (low+high)/2;
if(value==arr[mid]){
return mid;
}
if(value>arr[mid]){
low = mid+1;
}
if(value<arr[mid]){
high = mid-1;
}
}
return -1;
}
}
Java的二分查找的更多相关文章
- Java实现二分查找算法
Java程序员总该玩点基本的算法. 1.前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序 2.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中 ...
- 【15】-java实现二分查找
二分查找在面试中经常被遇到,这个方法十分优雅 介绍 二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么通过不断缩小包含T的范围,最终就可以找到它.一开始,范围覆盖整个数组 ...
- 手把手教你用java实现二分查找树及其相关操作
二分查找树(Binary Search Tree)的基本操作有搜索.求最大值.求最小值.求前继.求后继.插入及删除. 对二分查找树的进行基本操作所花费的时间与树的高度成比例.例如有n个节点的完全二叉树 ...
- java实现二分查找
/** * 二分查找 * @param a * @param n * @param value * @return * @date 2016-10-8 * @author shaobn */ publ ...
- java 实现二分查找法
/** * 二分查找又称折半查找,它是一种效率较高的查找方法. [二分查找要求]:1.必须采用顺序存储结构 2.必须按关键字大小有序排列. * @author Administrator * */ p ...
- Java算法 -- 二分查找
折半查找,要求待查找的序列有序.每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程.直到 ...
- Java之二分查找算法
算法说明:取中间位置的值与待查字比较.如果比待查字更大,则去列表的前半部分查找,如果比待查字小,则去列表的后半部分查找,直到找到这个待查字,或者返回没有找到这个待查字.其中给定的列表是从大到小排列的有 ...
- java 冒泡排序 二分查找 选择排序 插入排序
下面这个程序是先定义一个整型数组,然后将其中的元素反序赋值,再用冒泡排序进行排序以后用二分查找来查找其中是否有某个数,返回值为-1时表示这个数可能小于这个数组的最小值或大小这个数组的最大值,-2表示这 ...
- java 实现二分查找算法
//二分查找算法的实现 public static int binarySearch(int[] arr,int search) { int low=0; int high=arr.length-1; ...
随机推荐
- 事件驱动架构 (Event-Driven Architecture,EDA) 简介
EDA 是一种侧重于以生成/消费为基础的异步通信的架构模式.这主要对照于传统的基于线程的同步系统. EDA 是一种以事件 (event)为核心,提供事件产生,路由,消费已经结果回调等机制的架构模式. ...
- POJ2311 Cutting Game 博弈 SG函数
Cutting Game Description Urej loves to play various types of dull games. He usually asks other peopl ...
- apache atlas资料收集
apache atlas http://atlas.apache.org/ http://blog.csdn.net/ganglia/article/details/51457691
- SQL Server通过外部程序集注册正则表达式函数(CLR函数) [转]
转自:http://blog.csdn.net/binguo168/article/details/76598581 1.下载dll程序集(通过C#编写的支持正则的方法),百度网盘下载: 1.1如果只 ...
- Excel2010隔行变色的实现方法 [也可套用格式即可]
这样excel隔行变色的效果,excel会自动隔行填充不同颜色. 公式说明: =MOD(ROW(),2)=0,实现的效果是偶数行自动填充底纹颜色 =MOD(ROW(),2)=1,实现的效果是奇数行自动 ...
- python ftp文件夹文件递归上传推送
- 45.纯 CSS 创作一个菱形 loader 动画
原文地址:https://segmentfault.com/a/1190000015208027#articleHeader3 感想: 网格布局-> display: grid; HTML co ...
- SQL 优化tips 及误区
1. 几个表进行join,然后过滤 等价于 分别过滤为小表后,再join? 并不完全. 2)确实比1)效率高, 但要注意一些NULL值过滤.否则2)得到的结果比1)多 2. left join ...
- Nginx配置HTTPS证书网站
前提: 1.主机需要先安装openssl 2.编译安装nginx时,要加上--with-http_ssl_module 这个ssl模块 现在开始配置:(我当时配置时,主机已安装了openss ...
- 自制进度条在python3下PyCharm中运行或在控制台按照目录运行
import timescale = 50print("执行开始".center(scale//2,"-"))start = time.perf_counter ...