经典算法介绍:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难
折半查找方法适用于不经常变动查找频繁有序列表。
首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录

Java代码 二分查找算法  _11 二分查找算法  _11_02
  1. package com.lucene.utils;   
  2.   
  3. import java.util.Scanner;   
  4.   
  5. public class Find {   
  6.   
  7.     /**  
  8.      * 二分查找算法  
  9.      */  
  10.     public static void main(String[] args) {   
  11.         int[] nums={0,1,2,3,4,5,6,7,8,9};   
  12.         int start=0,end=nums.length,mid,find;   
  13.            
  14.         Scanner scanner=new Scanner(System.in);   
  15.         System.out.println("请输入要查找的数:");   
  16.         find=scanner.nextInt();   
  17.         do{   
  18.             mid=(start+end)/2;   
  19.             if(find==nums[mid]){   
  20.                 System.out.println("查找成功!");   
  21.                 break;   
  22.             }else if(find<nums[mid]){   
  23.                 end=mid-1;   
  24.             }else if(find>nums[mid]){   
  25.                 start=mid+1;   
  26.             }   
  27.         }while(start<=end);   
  28.         System.out.println("程序结束!");   
  29.     }   
  30.   
  31. }