Junior — Middle
Ներկայացրեք բինար որոնման ալգորիթմի աշխատանքային սկզբունքը և նրա առանձնահատկությունները։
sobes.tech AI
Պատասխան AI-ից
Բինար որոնման ալգորիթմը օգտագործվում է դասավորված զանգվածում կամ ցանկում տարր գտնելու համար: Նրա սկզբունքը:
- Կարգավորվում է զանգվածի միջին տարրը:
- Եթե որոնվող տարրը հավասար է միջինին, որոնումը ավարտվում է:
- Եթե որոնվող տարրը փոքր է միջինից, շարունակվում է ձախ մասում:
- Եթե մեծ է, աջ մասում:
- Պրոցեսը կրկնվում է ռեկուրսիվ կամ իտերատիվ, մինչև տարրը գտնվի կամ որոնման տիրույթը սպառվի:
Հատկություններ:
- աշխատում է միայն դասավորված տվյալների հետ:
- բարդություն — 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-ը չի գտնվել")
}