Sobes.tech
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
}