Sobes.tech
Junior — Middle

İkili axtarış alqoritminin iş prinsipi və onun xüsusiyyətlərini izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

İkili axtarış alqoritmi, sıralanmış massiv və ya siyahıda element tapmaq üçün istifadə olunur. Prinsipi:

  1. Massivin orta elementi müəyyən edilir.
  2. Əgər axtarılan element orta elementə bərabərdirsə, axtarış tamamlanır.
  3. Əgər axtarılan element orta elementdən kiçikdirsə, axtarış massivinin sol yarısında davam edir.
  4. Əks halda, sağ yarısında.
  5. Proses rekursiv və ya iterativ olaraq təkrarlanır, element tapılana və ya axtarış diapazonu tükənənə qədər.

Xüsusiyyətlər:

  • Yalnız sıralanmış məlumatlarla işləyir.
  • Çətinlik — O(log n), xətti axtarışdan çox daha sürətli.
  • İndeksə görə elementlərə giriş tələb edir (məsələn, massiv).

Swift-də nümunə:

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("Element tapıldı mövqedə \(index)")
} else {
    print("Element tapılmadı")
}