Junior — Middle
Ikki tomonlama qidiruv algoritmining ishlash prinsipi va uning xususiyatlarini tushuntiring.
sobes.tech AI
AIdan javob
Ikili qidiruv algoritmi, tartiblangan massiv yoki ro'yxatda elementni topish uchun ishlatiladi. Uning prinsipi:
- Massivning o'rtacha elementi aniqlanadi.
- Agar qidirilayotgan element o'rtacha elementga teng bo'lsa, qidiruv tugaydi.
- Agar qidirilayotgan element o'rtacha elementdan kichik bo'lsa, qidiruv massivning chap yarimida davom etadi.
- Agar katta bo'lsa, o'ng yarimda.
- Jarayon rekursiv yoki iterativ tarzda takrorlanadi, element topilmaguncha yoki qidiruv diapazasi tugaguncha.
Xususiyatlar:
- Faqat tartiblangan ma'lumotlar bilan ishlaydi.
- Murakkablik — O(log n), chiziqli qidiruvdan ancha tezroq.
- Indeks bo'yicha elementlarga kirish talab qilinadi (masalan, massiv).
Swiftda misol:
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 topildi pozitsiyada \(index)")
} else {
print("Element topilmadi")
}