Junior — Middle
Kokiose situacijose yra pageidautina naudoti std::unordered_map konteinerį?
sobes.tech AI
Atsakymas iš AI
std::unordered_map yra pageidautina naudoti, kai svarbus greitas prieigos prie elementų pagal raktą laikas ir elementų tvarka nėra svarbi. Tai yra maišos lentelė, užtikrinanti vidutinį O(1) laiką prieigai, skirtingai nuo std::map, kuris įgyvendintas kaip subalansuotas medis ir užtikrina prieigą per O(log n).
std::unordered_map naudojimo situacijos:
- Kai reikia greitai ieškoti, įterpti arba ištrinti elementus pagal raktą.
- Kai elementų tvarka nėra svarbi.
- Kai raktai turi gerą maišos funkciją, minimizuojančią kolizijas.
Pavyzdys:
#include <unordered_map>
#include <string>
#include <iostream>
int main() {
std::unordered_map<std::string, int> wordCount;
wordCount["apple"] = 3;
wordCount["banana"] = 2;
std::cout << "apple: " << wordCount["apple"] << std::endl;
return 0;
}