Sobes.tech
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;
}