`
jin8000608172
  • 浏览: 136396 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
经典算法介绍:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难
折半查找方法适用于不经常变动查找频繁有序列表。
首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录
package com.lucene.utils;

import java.util.Scanner;

public class Find {

	/**
	 * 二分查找算法
	 */
	public static void main(String[] args) {
		int[] nums={0,1,2,3,4,5,6,7,8,9};
		int start=0,end=nums.length,mid,find;
		
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入要查找的数:");
		find=scanner.nextInt();
		do{
			mid=(start+end)/2;
			if(find==nums[mid]){
				System.out.println("查找成功!");
				break;
			}else if(find<nums[mid]){
				end=mid-1;
			}else if(find>nums[mid]){
				start=mid+1;
			}
		}while(start<=end);
		System.out.println("程序结束!");
	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics