Sobes.tech
Junior — Middle

Qual è la caratteristica della velocità di ricerca degli elementi nella struttura dati Dictionary?

sobes.tech AI

Risposta dell'AI

Nella struttura dati Dictionary (ad esempio in C#), la ricerca di un elemento tramite chiave ha generalmente una complessità ammortizzata di O(1), cioè molto veloce e praticamente costante nel tempo.

Questo si ottiene utilizzando una tabella hash, dove la chiave viene trasformata in un codice hash, che permette di trovare rapidamente l'indice nell'array.

Tuttavia, nel caso peggiore (ad esempio, con molte collisioni), il tempo di ricerca può degradarsi a O(n), dove n è il numero di elementi, ma tali situazioni sono rare con una buona distribuzione della funzione hash.

Esempio di ricerca in Dictionary in C#:

var dict = new Dictionary<string, int>();
dict["apple"] = 5;
int value = dict["apple"]; // Ricerca in O(1)