Junior — Middle
For which practical scenarios is it recommended to use the std::unordered_map container?
sobes.tech AI
Answer from AI
std::unordered_map in C++ is recommended when you need to provide fast access to elements by key with an amortized search time close to O(1). This is especially useful in the following scenarios:
- When the order of elements does not matter, but the speed of search, insertion, and deletion is important.
- For implementing caching, where quick data retrieval by key is required.
- When counting the frequency of element occurrences (e.g., words in a text).
- In situations where keys have a good hash function distribution, minimizing collisions.
Example usage:
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> wordCount;
wordCount["apple"] = 3;
wordCount["banana"] = 2;
std::cout << "apple: " << wordCount["apple"] << std::endl;
return 0;
}