Junior — Middle
İkili arama algoritmasının çalışma prensibini ve özelliklerini açıklayınız.
sobes.tech yapay zeka
AI'dan gelen yanıt
İkili arama algoritması, sıralanmış bir dizi veya listede bir öğe aramak için kullanılır. Prensibi:
- Dizinin ortadaki öğesi belirlenir.
- Aranan öğe ortadaki öğeye eşitse, arama tamamlanır.
- Eğer aranan öğe ortadaki öğeden küçükse, arama dizinin sol yarısında devam eder.
- Daha büyükse, sağ yarısında devam eder.
- Bu süreç, öğe bulunana veya arama aralığı tükenene kadar yinelenir veya yinelemeli olarak tekrarlanır.
Özellikler:
- Sadece sıralanmış verilerle çalışır.
- Karmaşıklık — O(log n), doğrusal aramadan çok daha hızlıdır.
- İndeks kullanılarak öğelere erişim gerektirir (örneğin, dizi).
Swift'te örnek:
func binarySearch(_ array: [Int], _ target: Int) -> Int? {
var left = 0
var right = array.count - 1
while left <= right {
let mid = (left + right) / 2
if array[mid] == target {
return mid
} else if array[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return nil
}
let numbers = [1, 3, 5, 7, 9]
if let index = binarySearch(numbers, 7) {
print("Eleman bulunduğu pozisyon \(index)")
} else {
print("Eleman bulunamadı")
}