二分查找
2015-04-23 00:00
218 查看
复杂度 O(lgN)
使用条件:数据已经排序并在内存中。
使用条件:数据已经排序并在内存中。
package chapter1; public class BinarySearch <T>{ public static <T extends Comparable<? super T>> int binarySearch(T [] a, T x){ int low =0; int high = a.length-1; while (low<= high){ int mid =(low+high)/2 ; if (a[mid].compareTo(x)<0){ low = mid+1; }else if (a[mid].compareTo(x)>0) { high= mid-1; }else { return mid; } } return -1; //not found } }
相关文章推荐
- PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
- 二分查找 C 、C++STL
- BinarySearch 二分查找
- leetcode_33题——Search in Rotated Sorted Array(二分查找)
- Leetcode 35 Search Insert Position 二分查找(二分下标)
- hdu 4614 Vases and Flowers(线段树加二分查找)
- 二分查找
- 【学习记录】练习题-二分查找
- humble number——二分查找与哈希表拉链法
- 二分查找
- 如何写出正确的二分查找?——利用循环不变式理解二分查找及其变体的正确性以及构造方式
- 第三周作业 --------顺序查找和二分查找
- 二分查找
- leetcode 35. Search Insert Position搜索插入位置(二分查找)
- 二分查找的正确姿势
- 二分查找
- java选择排序和二分查找
- Python编写数据结构中的二分查找
- 1471 - Defense Lines(二分查找)
- usaco No Change, 2013 Nov 不找零(二分查找+状压dp)