Sobes.tech
Junior — Middle

Care este caracteristica vitezei de căutare a elementelor în structura de date Dictionary?

sobes.tech AI

Răspuns de la AI

În structura de date Dictionary (de exemplu, în C#), căutarea unui element după cheie are de obicei o complexitate amortizată de O(1), adică foarte rapidă și practic constantă în timp.

Acest lucru se realizează prin utilizarea unui tabel de dispersie, unde cheia este transformată într-un cod hash, care permite găsirea rapidă a indicelui în array.

Totuși, în cel mai rău caz (de exemplu, cu multe coliziuni), timpul de căutare poate să se degradeze până la O(n), unde n este numărul de elemente, dar astfel de situații sunt rare cu o distribuție bună a funcției hash.

Exemplu de căutare în Dictionary în C#:

var dict = new Dictionary<string, int>();
dict["apple"] = 5;
int value = dict["apple"]; // Căutare în O(1)