Sobes.tech
Junior — Middle

Milyen szabványos tárolóban van megvalósítva a map adatstruktúra?

sobes.tech MI

Válasz az MI-től

A C++ szabványkönyvtárban a std::map adatstruktúra vörös-fekete fa (Red-Black Tree) alapú megvalósítású. Ez egy kiegyensúlyozott bináris keresőfa, amely logaritmikus időt biztosít az elemek beszúrására, törlésére és keresésére.

C++-ban a std::map egy asszociatív konténer, amely kulcs-érték párokat tárol rendezett sorrendben a kulcs szerint. A vörös-fekete fa biztosítja a fa kiegyensúlyozottságát és az operációk hatékonyságát.

A std::map használatának példája:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "egy";
    myMap[2] = "kettő";
    myMap[3] = "három";

    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }
    return 0;
}

Ezért a std::map egy kiegyensúlyozott fára épül, nem pedig hash-táblára (hash-táblákhoz a std::unordered_map használatos).