java学习3-二分法查找法
来源:互联网 发布:数据科学r语言实践 编辑:程序博客网 时间:2024/05/16 19:56
1、二分查找又称折半查找,它是一种效率较高的查找方法。
2、二分查找要求:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。
import java.util.*;public class ArrHS{public static void main(String[] args){int[] arr={10,20,30,40,50,60};int mid=halfSearch_2(arr,30);//内置的二分查找方法,若值存在,返回初次查找的下标,若不存在,返回比值小的下标,取负加负一。System.out.println(Arrays.binarySearch(arr, 35));System.out.print(mid);}/* * @see 循环2分查找,返回初次查找到的数组下标 * @param arr 已排序的数组 * @param value 要查找的值 * @return 值在数组中的位置,找不到返回-1 */public static int halfSearch_1(int[] arr,int value){int min,max,mid;min=0;max=arr.length-1;mid=(min+max)>>1;while( arr[mid] !=value ){if( arr[mid] >value )max=mid-1;if( arr[mid]<value)min=mid+1;if(min==max)return -1;mid=(min+max)>>1;}return mid;}/* * @see 循环2分查找,返回初次查找到的数组下标 * @param arr 已排序的数组 * @param value 要查找的值 * @return 值在数组中的位置,找不到返回-1 */public static int halfSearch_2(int[] arr,int value){//min数组下标最小值,max数组下标最大值,mid中间值int min,max,mid;min=0;max=arr.length-1;mid=(min+max)>>1;while( min!=max){if(arr[mid]==value)return mid;else if(arr[mid]>value)max=mid-1;elsemin=mid+1;mid=(min+max)>>1;}return -1;}}
0 0
- java学习3-二分法查找法
- java二分法查找法
- java学习-算法2--二分法查找
- java日常学习:直接查找法和二分法(折半法)查找数组元素
- (Java学习笔记4)线性查找和二分法查找
- 算法学习--二分法查找
- java 二分法查找
- JAVA 二分法查找实现
- JAVA 二分法查找实现
- JAVA 二分法查找
- java实现二分法查找
- java 二分法查找
- Java二分法查找
- java实现二分法查找
- Java 二分法查找
- Java实现二分法查找
- Java 二分法查找
- Java 实现二分法查找
- java学习笔记IO输入与输出——常用工具类(1)
- Nutch技术手册——AboutPlugin
- nodejs redis 文件 二进制存取
- 双向链表
- 七层网络模型,协议,状态码认识
- java学习3-二分法查找法
- 开发新产品中的一些感悟
- 马良建模学习笔记——软包制作十
- JS中Var关键字
- android studio查看android source code
- meta标签让搜索引擎搜索到你的网站
- 计算机网络之无线局域网
- context详解
- axureRP7.0基础入门到精通教程