Bir koleksiyondaki elemanları baştan sona kontrol ederek hedef değerin ilk konumunu bulur.
Linear Search, kaynaklarda Sequential Search adıyla geçen en temel arama yöntemidir. Liste üzerinde ek bir düzen varsayımı yapmaz; hedef değer bulunana veya listenin sonuna gelinene kadar her eleman sırayla karşılaştırılır.
Bu yaklaşım küçük listelerde, sıralanmamış verilerde ve tek seferlik aramalarda gereksiz ön işleme maliyeti oluşturmadığı için pratik kalır. Sedgewick bölümünde sentinel kullanımıyla sınır kontrolünün azaltılabileceği, DSA notlarında ise algoritmanın doğrudan O(n) tarama yaptığı anlatılır.
Aşağıdaki uygulamalar PDF kaynaklarındaki pseudo kod akışını modern veri yapılarıyla ifade eder. Kenar durumları görünür bırakıldığı için örnekler doğrudan test edilebilir.
1function linearSearch(items: T[], target: T): number { 2 for (let index = 0; index < items.length; index += 1) {3 if (items[index] === target) {4 return index;5 }6 }78 return -1;9}Listeyi ve hedefi noktalı virgülle ayırın. Örnek: 8,3,11,5; 11
Listeyi ve hedefi noktalı virgülle ayırın. Örnek: 8,3,11,5; 11
En İyi Durum: O(1)
Ortalama Durum: O(n)
En Kötü Durum: O(n)
O(1) - Giriş boyutu ne olursa olsun, algoritma her zaman aynı sürede çalışır.
Linear Search (Sequential Search) Algoritması ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar: