算法学习之java实现二分查找
2015-07-22 22:18
393 查看
二分查找:
思想:针对有序的数组,将待查找的数跟数组的中间值进行比较,来确定更小的范围的思想。
代码实现:
package com.scy.arithmetic; import java.util.Arrays; /* * 二分查找:思想相对有序的数组而言,将待查找的数跟数组的中间值进行比较,如果比中间值小,则从开始到中间值前边的那个范围的中间值进行比较 * 如果等于中间值,则返回中间值坐标,如果大于中间值,则将范围锁定在中间值后边到结尾的范围继续中间值比较 */ public class MiddleSelect { public static void main(String[] args) { int[] a=new int[20]; for (int i = 0; i < 20; i++) { a[i]=(int)(Math.random()*(100-1+1)+1); } //将a数组进行排序 Arrays.sort(a); System.out.println(Arrays.toString(a)); //此处如果存在相同值的情况,则会返回第一个查到的值的坐标 new MiddleSelect().middleSelect(a, 0, a.length-1, a[3]); } public void middleSelect(int[] a,int start,int end,int standard){ if(start<end){ int middle=(start+end)/2; if(a[middle]>standard){ middleSelect(a, start, middle-1, standard); }else if(a[middle]<standard){ middleSelect(a, middle+1, end, standard); }else{ System.out.println(middle); } }else{ System.out.println("查找的值数值中不存在"); } } }
阅读更多
相关文章推荐
- 算法 -- Java实现二分(折半)查找(图解 + 代码实现)
- 算法学习---对象类型的数组二分查找实现
- 算法:查找----二分查找(Java实现)
- Java二分查找算法学习笔记。
- 二分查找算法java实现
- 算法(第四版)学习笔记之二分查找的递归与非递归java实现
- 算法学习---基本数据类型的数组二分查找实现
- 算法入门---java语言实现的二分查找小结
- 二分查找算法原理及其java循环实现
- 算法学习---对象类型的数组二分查找实现
- Java学习资料-Java常用算法-二分查找算法
- 算法学习---基本数据类型的数组二分查找实现
- 算法(第4版) 学习笔记二——二分查找的普通实现与递归实现
- java 二分查找算法实现
- 算法(第四版) 学习总结三 Java输入输出、二分查找、源代码地址
- [算法]java实现 二分查找 斐波那契数列 静静思考
- 算法导论Java实现-二分查找运用(习题2.3-7)
- 二分查找之Java实现
- 折半查找(二分查找)Java实现
- 8、二分查找 JAVA实现