Sobes.tech
Junior

Каква е сложността на търсенето на елемент в масив в Swift?

sobes.tech AI

Отговор от AI

Сложността на търсенето на елемент в типичен неупорядочен масив (например, Array<Element>) в Swift е O(n), където n е броят на елементите в масива. Това се дължи на факта, че в най-лошия случай може да се наложи да се прегледат всички елементи на масива.

Въпреки това, ако масивът е сортиран, може да се използва двоично търсене, което има сложност O(log n). Swift предоставя метода binarySearch за сортирани колекции.

Пример за линейно търсене:

let array = [1, 5, 2, 8, 3]
let elementToFind = 8

for element in array {
    if element == elementToFind {
        // Елементът е намерен
        break
    }
}

Пример за двоично търсене в сортиран масив:

let sortedArray = [1, 2, 3, 5, 8]
let elementToFind = 5

if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
    // Елементът е намерен на индекс
}