Junior — Middle
Ma'lumotlar tuzilmalarida elementlarni qidirish uchun algoritmlar misollarini keltira olasizmi?
sobes.tech AI
AIdan javob
Ma'lumot tuzilmalarida elementlarni qidirish uchun ko'pincha quyidagi algoritmlar ishlatiladi:
- Chiziqli qidirish (Linear Search) — elementlarni ketma-ket tekshirish, tartiblanmagan massivlar uchun mos.
- Ikki tomonlama qidirish (Binary Search) — tartiblangan massivlar uchun samarali, har bosqichda qidiruv maydonini yarimga bo'ladi.
- Daraxtlarda qidirish (masalan, ikki tomonlama qidirish daraxtida) — elementni topish uchun rekursiv yoki iterativ yurish.
- Hash-jadvalda qidirish — kalit bo'yicha tezkor kirish, hash-funksiyadan foydalanadi.
Swiftda ikki tomonlama qidirish misoli:
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
}