Sobes.tech
Junior — Middle

Ներկայացրեք բինար որոնման ալգորիթմի աշխատանքային սկզբունքը և նրա առանձնահատկությունները։

sobes.tech AI

Պատասխան AI-ից

Բինար որոնման ալգորիթմը օգտագործվում է դասավորված զանգվածում կամ ցանկում տարր գտնելու համար: Նրա սկզբունքը:

  1. Կարգավորվում է զանգվածի միջին տարրը:
  2. Եթե որոնվող տարրը հավասար է միջինին, որոնումը ավարտվում է:
  3. Եթե որոնվող տարրը փոքր է միջինից, շարունակվում է ձախ մասում:
  4. Եթե մեծ է, աջ մասում:
  5. Պրոցեսը կրկնվում է ռեկուրսիվ կամ իտերատիվ, մինչև տարրը գտնվի կամ որոնման տիրույթը սպառվի:

Հատկություններ:

  • աշխատում է միայն դասավորված տվյալների հետ:
  • բարդություն — O(log n), շատ ավելի արագ քան գծային որոնումը:
  • պահանջում է մուտք դեպի տարրերը ըստ ինդեքսի (օրինակ, զանգված):

Օրինակ Swift-ում:

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-ը գտնվեց դիրքում \(index)")
} else {
    print("Element-ը չի գտնվել")
}