Java二分法

以下是二分法的实现和基本思路

import java.util.Arrays;

/**
 * 
  * @ClassName 二分法
  * @description 功能描述
  * @author sye
  * @date 2016-12-12
  * @version V1.0
 */
public class 二分法 {

	/**
	 * 基本思路: 
	 * 1.首先将待查数据num与排序的一组数据的中间位置arr[m]上的数据进行比较, 若相等,则查找成功.
	 * 2.若num>arr[m],则待查数据num只可能出现在右半部arr[m+1…n]中,则应在这个右半部中再进行折半查找.
	 * 3.若num> 1;
			if (num == arr[m]) {
				return m;
			}
			if (num > arr[m]) {
				begin = m + 1;
			}
			if (num < arr[m]) {
				end = m - 1;
			}
		}
		return -1;
	}

	public static void main(String[] args) {
		int[] arr = { 2, 10, 4, 8, 9 };
		Arrays.sort(arr);
		int index = findNum(arr, 4);
		System.out.println("搜索下标为:" + index);
	}

}

你可能感兴趣的:(算法)