二分查找法 (java版)

来源:互联网 发布:同性题材网络剧泰国 编辑:程序博客网 时间:2024/05/14 21:10
最近工作闲暇抽空学习数据结构和算法。本人小菜,只是一步步的打好基础。
看的书是: java数据结构和算法(第二版)

二分查找法原理 :
摘录原书自己稍微改动下 ,书为打印版本  不好直接复制
如同猜数游戏, 游戏中,一个朋友让你猜她想的 1---100之间的数,当你猜了一个数之后,他会告诉你三种选择的一个:大,小,猜中。
为了能够最少的次数猜中,必须从50开始猜,如果小,则下次从50——100之间猜,下次猜75.如果大,则下次猜25, 依此类推

下面为实现的代码:

public staticInteger  halfFind(int []a, int num){int upperBound=a.length-1;int lowBound =0;int curIn=0;while(true){curIn =(lowBound+upperBound)/2 ;if(lowBound > upperBound){return -1;    //表示数不存在,防止陷入死循环   !!赞}if(a[curIn]>num){upperBound =curIn-1;}else if(a[curIn]<num){lowBound=curIn+1;}else{return curIn;}}



0 0
原创粉丝点击