Junior — Middle
Milline on andmestruktuuri Dictionary elementide otsimise kiiruse omadus?
sobes.tech AI
Vastus AI-lt
Andmestruktuur Dictionary (näiteks C#-s) elementide otsimine võtme järgi on tavaliselt amortiseeritud keerukusega O(1), mis tähendab, et see on väga kiire ja praktiliselt konstantne ajas.
See saavutatakse kasutades hash-tabelit, kus võti muudetakse hash-koodiks, mis võimaldab kiiresti leida indeksi massiivis.
Kuid halvimal juhul (näiteks palju kokkupõrkeid) võib otsinguaeg halveneda O(n)-ni, kus n on elementide arv, kuid sellised olukorrad on haruldased heade hash-funktsioonide jaotuse korral.
Näide otsingust Dictionarys C#-s:
var dict = new Dictionary<string, int>();
dict["apple"] = 5;
int value = dict["apple"]; // O(1) otsing