Junior — Middle
Qual metodo di ricerca di un elemento è considerato più efficiente: scorrere un array o accedere tramite chiave in un dizionario?
sobes.tech AI
Risposta dell'AI
L'accesso per chiave in un dizionario è considerato un metodo più efficiente per trovare un elemento rispetto alla scansione di un array.
Motivi:
- Il dizionario è implementato su una tabella hash, che garantisce un tempo di accesso medio di O(1).
- La scansione di un array (ricerca lineare) richiede di verificare ogni elemento, con un tempo di ricerca di O(n).
Esempio in Swift:
let array = [1, 2, 3, 4, 5]
let dictionary = [1: "uno", 2: "due", 3: "tre"]
// Ricerca nell'array
if array.contains(3) {
print("Trovato")
}
// Ricerca per chiave nel dizionario
if let value = dictionary[3] {
print("Trovato: \(value)")
}
Quindi, se devi cercare spesso elementi per chiave, è meglio usare un dizionario.