二分查找算法例子

2010年1月24日 | 分类: 技术 | 标签: 1,723浏览 | By admin

二分查找算法是一个效率比较高的查找算法,它的算法思想是:将一段查找区域以某一数字(分割点)从中分为两部分(形象化为左右两部分),然后对左边一部分进行查找,当查找的词在左边区域时,那么对分割点减1,再进行查找,如果查找的结果是在右边区域时,那么对分割点加1,在右边区域进行查找。以下的例子为对一个字符串数组中的字符进行查找,代码具体如下:

private static int erfen(String query){

String[] strArr = {"a","d","e","l","w","c","s","k","o"};

int i = 0;

int k = strArr.length - 1;

while(k>=i){

//分割点

int mid = (i+k)>>1;

//如果delta<0,表明query在数组元素strArr[mid]之前

//如果delta>0,表明query在数组元素strArr[mid]之后

int delta = query.compareTo(strArr[mid]);

if (delta<0){

k = mid -1;

}else if (delta>0){

i = mid + 1;

}else{

return mid;

}

}

return i;

}
public static void main(String[] args) {
    //返回e所在数组中的位置
    System.out.println(erfen("e"));
}

如无转载说明,则均为本站原创文章,转载请注明:来源:子猴博客





随机日志

目前还没有任何评论.
*

酷!左边勾选上复选框,评论里将显示你博客文章!
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!:

Upload Files

你可以上传一张或多张图片,这些图片将附在你评论里