Sobes.tech
Junior — Middle

V jakých situacích je vhodnější použít kontejner std::unordered_map?

sobes.tech AI

Odpověď od AI

std::unordered_map je vhodnější používat, když je důležitý rychlý přístup k prvkům podle klíče a pořadí prvků není důležité. Je to hash tabulka, která zajišťuje průměrný amortizovaný čas přístupu O(1), na rozdíl od std::map, která je implementována jako vyvážené stromové uspořádání a zajišťuje přístup v O(log n).

Situace pro použití std::unordered_map:

  • Když je potřeba rychle hledat, vkládat nebo mazat prvky podle klíče.
  • Když pořadí prvků není důležité.
  • Když mají klíče dobrou hash funkci, která minimalizuje kolize.

Příklad použití:

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