黑马程序员技术交流社区

标题: 二分法查找 [打印本页]

作者: 向前爬的虫子    时间: 2016-4-21 15:21
标题: 二分法查找
那位大神谁会二分法查找,求指点!!!
作者: liudh1    时间: 2016-4-21 19:48
package liu.dh.algorithm1;

public class TestBinary {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //1-100之间的数,给定一个数几次查找能够找到这个数;
                //查找search=26,看几次能够找到
                int first =1;
                int laste = 100;
                int count = 0;
                        //Integer
               
               
                while (true) {
                        int mid = (first+laste)/2;
                int search =26;
                        if (mid==search) {
                                count++;
                                break;
                               
                        }else if (mid>search) {
                                laste=mid-1;
                                count++;
                               
                        }else if (mid<search) {
                                first=mid+1;
                                count++;
                        }
                        if (laste<first) {
                                count=-(count++);
                                break;
                        }
                        if (first>laste) {
                                count=-(count++);
                                break;
                        }
                }
                System.out.println(count);
        }



}

作者: jialianghao    时间: 2016-4-21 21:15
楼上的挺全了。二分查找也叫折半查询。意思就是每次都是在中间查询。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2