Java 编程下的二分法查找
来源:互联网 发布:linux vi强制保存 编辑:程序博客网 时间:2024/06/03 21:23
算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序不重复的。 基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止。
假设有一个数组 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },现要求采用二分法找出指定的数值并将其在数组的索引返回,如果没有找到则返回 -1。代码如下:
package cn.sunzn.dichotomy;public class DichotomySearch { public static void main(String[] args) { int[] arr = new int[] { 12, 23, 34, 45, 56, 67, 77, 89, 90 }; System.out.println(search(arr, 12)); System.out.println(search(arr, 45)); System.out.println(search(arr, 67)); System.out.println(search(arr, 89)); System.out.println(search(arr, 99)); } public static int search(int[] arr, int key) { int start = 0; int end = arr.length - 1; while (start <= end) { int middle = (start + end) / 2; if (key < arr[middle]) { end = middle - 1; } else if (key > arr[middle]) { start = middle + 1; } else { return middle; } } return -1; }}
0 0
- Java 编程下的二分法查找
- Java 编程下的二分法查找
- Java 编程下的二分法查找
- java的二分法查找
- 二分法查找的JAVA程序
- Java的冒泡排序和二分法查找
- java 二分法查找
- JAVA 二分法查找实现
- java二分法查找法
- JAVA 二分法查找实现
- JAVA 二分法查找
- java实现二分法查找
- java 二分法查找
- Java二分法查找
- java实现二分法查找
- Java 二分法查找
- Java实现二分法查找
- Java 二分法查找
- OC基础
- 剑指offer_面试题22_栈的压入、弹出序列(总结规律)
- 清除缓存功能
- android onTouchEvent 左右手势滑动事件处理
- 关于Android Developer Tools Update的问题解决
- Java 编程下的二分法查找
- 优化SQL语句 2
- 新技术成长型企业往往经过四个发展阶段
- JavaScript--利用setInterval或setTimeout实现背景颜色轮播
- 【POJ 3241】曼哈顿最小生成树(模板整理)
- 光场相机 标定微透镜阵列
- C++1001
- Android实用代码七段(五)
- 安卓Notification的几个常见难点