在有序的数组中获取目标值的地址——二分查询算法(java实现)
来源:互联网 发布:北京软件开发外包 编辑:程序博客网 时间:2024/06/05 18:07
二分查询法,可以理解为把一窜已经有序的 int 数组不断地一分为二来进行查询,关键在于对比查询值与中间值,看查询值在前半段数据或是后,再将所在的数据段重新分割,继续查询,直到锁定该查询值。
自定义数组,从中获取3的地址。
public class BinarySearch {public static void main(String[] args) {int[] a = {0,1,2,3,4,5,6,7,8,9,10,11};System.out.println(rank(3, a)+1);}public static int rank(int key,int[] a) {int low =0;int high = a.length-1;while (low<high) {int min = high - low;if (key<a[min]) {high = min-1;}else if (key>a[min]) {low = min+1;} else {return min;}}return -1;}}
结果:4
(结果是3,或者4看具体需要设定,这里是指数组中第四个数)
阅读全文
0 0
- 在有序的数组中获取目标值的地址——二分查询算法(java实现)
- 字符串算法——二维有序数组中查找目标值(Search a 2D Matrix)
- 有序的数组中找到某一目标值首次出现的下标
- 关于java中在当前时间上修改一个目标值以获取新的时间
- 对于有序数组的二分查找算法
- 有序表查询之一:java实现整型数组二分查找
- java二分法实现在有序的数组中定位某数在数组中的位置
- 在一个基本有序的数组中查询指定元素
- 二分搜索——在有序数组中找到目标函数出来的最左端的位置
- [java]一次for循环实现查询有序数组中所有重复的元素
- 二分查找(有序数组中查找需要的数)
- Java数组-二分查找法用于元素插入有序数组,并获取元素插入的位置
- Java有序数组的实现
- 有序数组的查询
- 数据结构实现之有序符号表BinarySearchST(使用有序数组的二分查找)
- 折半查找,也称二分查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。
- 【算法】求数组中某两个数的和为目标值
- PHP实现数组中两个数的和等于给定的目标值
- awk BEGIN END操作
- BZOJ 1787 Meet 紧急集合 (LCA)
- Windows 驱动机制-定时、DPC及延时
- Python 对象
- [ACL2017]Sequence-to-Dependency Neural Machine Translation
- 在有序的数组中获取目标值的地址——二分查询算法(java实现)
- 百度定位问题
- ApiDemos学习知识点之media-MediaPlayer_Audio&MediaPlayer_Video(11)
- dcloud 本地存储
- linux系统多线程编程
- DPC(延迟过程调用)的技术细节
- Android数据加密之Base64编码算法
- 深入浅出JMS(二)--ActiveMQ简单介绍以及安装
- codeforce 2B