線性搜索

計算機科學中,線性搜索順序搜索是一種尋找某一特定值的搜索算法,指按一定的順序檢查數組中每一個元素,直到找到所要尋找的特定值為止。是最簡單的一種搜索算法

分析

假設一個數組中有 個元素,最好的情況就是要尋找的特定值就是數組裡的第一個元素,這樣僅需要1次比較就可以。而最壞的情況是要尋找的特定值不在這個數組或者是數組裡的最後一個元素,這就需要進行 次比較。

實作範例

# Julia Sample: LinearSearch
function LinearSearch(A,Key)
	for i=1:length(A)
		if A[i]==Key
			return i		
		end
	end
	return -1
end

# Main Code
A = [16,586,1,31,354,43,3]
println(A)              		 # Original Array
println(LinearSearch(A,354))     # LinearSearch Array
println(LinearSearch(A,43))      # LinearSearch Array
println(LinearSearch(A,87))      # LinearSearch Array

參考

  • Sahni, Sartaj. Data Structures,Algorithms,and Applications in C++. McGraw2-Hill. 1998. ISBN 978-7-11-07645-2 請檢查|isbn=值 (幫助). 

外部連結