Sobes.tech
Junior — Middle

Kādās situācijās ir vēlams izmantot std::unordered_map konteineru?

sobes.tech AI

Atbilde no AI

std::unordered_map ir priekšroka, ja ir svarīgi ātri piekļūt elementiem pēc atslēgas un elementu secība nav nozīmīga. Tas ir haštabula, kas nodrošina vidējo O(1) piekļuves laiku, atšķirībā no std::map, kas ir realizēta kā līdzsvarots koks un nodrošina piekļuvi O(log n).

std::unordered_map lietošanas gadījumi:

  • Kad nepieciešams ātri meklēt, ievietot vai dzēst elementus pēc atslēgas.
  • Kad elementu secība nav svarīga.
  • Kad atslēgas ir ar labu hašfunkciju, kas samazina kolīzijas.

Piemērs:

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