查找算法-----線性查找(順序查找)

根據給定的某個值,在查找表中確定一個其關鍵字等於給定值得數據元素(或記錄)

  1. 順序查找
  2. 二分查找
  3. 插值查找
  4. 斐波那契查找
  5. 樹表查找
  6. 分塊查找
  7. 哈希查找

順序查找

順序查找也稱爲線形查找,屬於無序查找算法,從數據結構線形查找表的一端開始,順序掃描,依次將掃描到的結點關鍵字與給定值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處)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章