Veri kümeleri içinde belirli bir elemanı bulmak için arama algoritmaları kullanılır.
Doğrusal Arama (Linear Search)
Doğrusal arama, bir veri kümesindeki her elemanı sırayla kontrol ederek aranan değeri bulmaya çalışan en basit arama algoritmasıdır.
Çalışma Prensibi:
- Dizinin ilk elemanından başla
- Mevcut elemanı aranan değerle karşılaştır
- Eşleşirse indeksini döndür
- Eşleşmezse bir sonraki elemana geç
- Dizi sonuna kadar devam et
Zaman Karmaşıklığı:
- En İyi Durum: O(1) - İlk eleman
- En Kötü Durum: O(n) - Son eleman veya yok
- Ortalama Durum: O(n)
İkili Arama (Binary Search)
İkili arama, sıralı bir veri kümesinde arama yapmak için çok daha verimli bir algoritmadır. Arama aralığını her adımda yarıya indirir.
Çalışma Prensibi:
- Arama aralığının orta elemanını bul
- Orta elemanı aranan değerle karşılaştır
- Eşitse bulundu
- Küçükse sağ yarıda ara
- Büyükse sol yarıda ara
- Aralık boşalana kadar tekrarla
Zaman Karmaşıklığı:
- En İyi Durum: O(1) - Orta eleman
- En Kötü Durum: O(log n)
- Ortalama Durum: O(log n)
Karşılaştırma
| Özellik | Doğrusal Arama | İkili Arama |
|---|---|---|
| Veri Sıralaması | Gerekli Değil | Gerekli |
| Zaman Karmaşıklığı | O(n) | O(log n) |
| Kullanım Alanı | Küçük/Sırasız Veri | Büyük/Sıralı Veri |