数据结构:二分查找 java
2018-08-19 23:20
351 查看
二分查找的前提是有序存储,利用顺序存储和元素排序
/** * 二分查找,查找成功,返回下标记 * @param values * @param begin * @param end * @param key * @param <T> * @return */ public static <T extends Comparable<? super T>> int binarySearch(T values[], int begin, int end, T key) { while(begin <= end) { int mid = (begin + end) / 2; if(key.compareTo(values[mid]) == 0) { return mid; } else if(key.compareTo(values[mid]) < 0) { end = mid -1; } else { begin = mid +1; } } return -1; } /** * * @param values * @param key * @param <T> * @return */ public static <T extends Comparable<? super T>> int binarySearch(T values[], T key) { return binarySearch(values,0,values.length -1, key); }
相关文章推荐
- java数据结构与算法-递归二分查找
- Java数据结构与算法之【二分查找】
- 数据结构和算法设计专题之---二分查找(Java版)
- [数据结构]二分查找
- 数据结构与算法学习之路:二分查找的非递归和递归算法
- 看数据结构写代码(53) 静态查找表(线性查找,二分查找,斐波那契查找,插值查找)
- 数据结构-二分查找
- 数据结构(java)_数组顺序查找
- 数据结构(Java)——查找和排序(1)
- 数据结构(Java)——查找和排序(5)
- Java 数据结构之一般树形结构中父节点和子节点的查找
- 数据结构——查找和删除指定连接点(java实现)
- 【数据结构】折半查找(二分查找)
- java语言实现二分查找数据法
- 数据结构查找-二分查找
- 数据结构基础(2) --顺序查找 & 二分查找
- C++数据结构与STL--二分查找
- 【数据结构与算法】【查找】折半查找(二分查找)的代码实现
- 数据结构基础 查找 之 二分查找
- 数据结构:二分查找的递归与非递归实现--C实现