1. 程式人生 > >《JAVA》淺談——順序查詢、折半查詢

《JAVA》淺談——順序查詢、折半查詢

 

 

順序查詢

基本原理:依次遍歷

public class Solution {

	public static int SequenceSearch(int[] sz, int key) {
		for (int i = 0; i < sz.length; i++) {
			if (sz[i] == key) {
				return i;
			}
		}
		return -1;
	}
}

折半查詢

基本原理:每次查詢都對半分,但要求陣列是有序的

public class Solution {

	public static int BinarySearch(int[] sz,int key){
		int low = 0;
		int high = sz.length - 1;
		
		while (low <= high) {
			int middle = (low + high) / 2;
			if(sz[middle] == key){
				return middle;
			}else if(sz[middle] > key){
				high = middle - 1;
			}else {
				low = middle + 1;
			}
		}
		return -1;
	}
}