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
}