Junior
Qual è la complessità di cercare un elemento in un array in Swift?
sobes.tech AI
Risposta dell'AI
La complessità di cercare un elemento in un array non ordinato tipico (ad esempio, Array<Element>) in Swift è O(n), dove n è il numero di elementi nell'array. Questo perché, nel peggiore dei casi, potrebbe essere necessario scorrere tutti gli elementi dell'array per trovare l'elemento.
Tuttavia, se l'array è ordinato, si può usare la ricerca binaria, che ha una complessità di O(log n). Swift fornisce il metodo binarySearch per le collezioni ordinate.
Esempio di ricerca lineare:
let array = [1, 5, 2, 8, 3]
let elementToFind = 8
for element in array {
if element == elementToFind {
// Elemento trovato
break
}
}
Esempio di ricerca binaria in un array ordinato:
let sortedArray = [1, 2, 3, 5, 8]
let elementToFind = 5
if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
// Elemento trovato all'indice
}