二分查找
###二分查找算法
-
二分查找(BinarySearch)又称为折半查找,优点是比较次数少,查找速度快,平均性能好,其缺点是要求带查表是有序表,且插入删除困难,因此,折半查找方法适用于不经常变动而且查找频繁的有序列表
package com; import java.util.Arrays; public class BinnarySearch { public static void main(String[] args) { int[] nums = { 20, 22, 33, 42, 44, 53, 66 }; Arrays.sort(nums);// 排序 System.out.println(binnarySearch(nums, 66)); } /** * 二分查找算法 * 特点,查找速度快 * * @param nums * @param key * @return */ public static int binnarySearch(int[] nums, int key) { int start = 0; int end = nums.length; int mid = -1; //处理逻辑 while (start <= end) { mid = (start + end) / 2; if (nums[mid] == key) { return mid; } else if (nums[mid] < key) { start = mid + 1; } else if (nums[mid] > key) { end = mid - 1; } } return -1; }复制代码
}