首页 > 其他 > 详细

二分查找

时间:2015-04-23 01:56:19      阅读:206      评论:0      收藏:0      [点我收藏+]

复杂度 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
		
	}

}

  

 

二分查找

原文:http://www.cnblogs.com/chuiyuan/p/4449100.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!