Junior — Middle
Можете ли да дадете примери за алгоритми за търсене на елементи в структури от данни?
sobes.tech AI
Отговор от AI
За търсене на елементи в структури от данни често се използват следните алгоритми:
- Линеен търсене (Linear Search) — преглеждане на елементите един по един, подходящо за несортирани масиви.
- Бинарно търсене (Binary Search) — ефективно за сортирани масиви, разделя областта за търсене на две на всяка стъпка.
- Търсене в дървета (например, търсене в двоично дърво за търсене) — рекурсивно или итеративно преминаване за намиране на елемент.
- Търсене в хеш таблици — бърз достъп чрез ключ с помощта на хеш функция.
Пример за бинарно търсене на 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
}