# 線性搜尋法(Linear Search) 資料不須事先排序,僅需遍歷一一比對,發現有與鍵值相同的值就返回索引。 ## 舉例說明 有一陣列:`{1, 8, 10, 89, 1000, 1234}`,判斷陣列中是否包含此元素 要求:如果找到了,就提示找到,並給出索引值。 ## 程式碼 ```java= package Search; public class SeqSearch { public static void main(String[] args) { int arr[] = {1, 8, 10, 89, 1000, 1234}; int index = seqSearch(arr, 10); if(index == -1) { System.out.println("沒有查找到"); } else { System.out.println("找到, 索引為 = "+index); } } public static int seqSearch(int[] arr, int value) { //逐一比對,發現有相同值就返回索引 for(int i = 0; i < arr.length; i++){ if(arr[i] == value) { return i; } } return -1; } } ``` output ```java= 找到, 索引為 = 2 ``` ## 時間複雜度 (1+2+3+...+n)/n = (n+1)/2 ⇒ `Ο(n)`