Sobes.tech
Junior

Care este complexitatea căutării unui element într-un array în Swift?

sobes.tech AI

Răspuns de la AI

Complexitatea căutării unui element într-un array nesortat tipic (de exemplu, Array<Element>) în Swift este O(n), unde n reprezintă numărul de elemente din array. Acest lucru se datorează faptului că, în cel mai rău caz, poate fi necesar să parcurgi toate elementele array-ului pentru a găsi elementul.

Cu toate acestea, dacă array-ul este sortat, se poate folosi căutarea binară, care are o complexitate de O(log n). Swift oferă metoda binarySearch pentru colecțiile sortate.

Exemplu de căutare liniară:

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

for element in array {
    if element == elementToFind {
        // Element găsit
        break
    }
}

Exemplu de căutare binară într-un array sortat:

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

if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
    // Element găsit la index
}