Sobes.tech
Junior — Middle

V akých situáciách je vhodnejšie použiť kontajner std::unordered_map?

sobes.tech AI

Odpoveď od AI

std::unordered_map je vhodnejšie použiť, keď je dôležitý vysokorýchlostný prístup k prvkom podľa kľúča a poradie prvkov nie je dôležité. Je to hash tabuľka, ktorá zabezpečuje priemerný amortizovaný čas prístupu O(1), na rozdiel od std::map, ktorá je implementovaná ako vyvážené stromové usporiadanie a zabezpečuje prístup v O(log n).

Situácie na použitie std::unordered_map:

  • Keď je potrebné rýchle vyhľadávanie, vkladanie alebo mazanie prvkov podľa kľúča.
  • Keď poradie prvkov nie je dôležité.
  • Keď majú kľúče dobrú hash funkciu, ktorá minimalizuje kolízie.

Príklad použitia:

#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;
}