Sobes.tech
Junior

Qual è la complessità di cercare un elemento in un array in Swift?

sobes.tech AI

Risposta dell'AI

Nel peggiore caso (elemento non trovato o si trova alla fine) è lineare, O(n), dove n è il numero di elementi nell'array.

Utilizzando la ricerca binaria su un array ordinato — logaritmica, O(log n).

// Ricerca lineare
let array = [1, 5, 2, 8, 3]
if array.contains(8) {
    // Elemento trovato. Nel peggiore dei casi, sono stati controllati tutti gli elementi.
}

// Ricerca binaria su un array ordinato
let sortedArray = [1, 2, 3, 5, 8]
// L'implementazione richiede passaggi aggiuntivi o l'uso di un algoritmo
// Ad esempio, tramite il metodo binarySearch() per collezioni ordinate in Swift 5.3+
// sortedArray.binarySearch(8)