根據給定的某個值,在查找表中確定一個其關鍵字等於給定值得數據元素(或記錄)
- 順序查找
- 二分查找
- 插值查找
- 斐波那契查找
- 樹表查找
- 分塊查找
- 哈希查找
順序查找
順序查找也稱爲線形查找,屬於無序查找算法,從數據結構線形查找表的一端開始,順序掃描,依次將掃描到的結點關鍵字與給定值k相比較,若相等則表示查找成功;若掃描結束仍沒有找到關鍵字等於k的結點,表示查找失敗。
順序查找適合於存儲結構爲順序存儲或鏈式存儲的線性表
順序查找的時間複雜度爲O(n)
package 查找算法;
public class LinearSearch {
public static void main(String[] args) {
int [] arr=new int[]{1,2,3,6,9,8,4,2,5};
int key=8;
int index=linearSearch(arr,key);
System.out.println("index="+index);
}
private static int linearSearch(int[] arr, int key) {
for(int i=0;i<arr.length;i++){
if(arr[i]==key){
return i;
}
}
return -1;
}
}
執行結果
index=5(表示8在角標5處)