Sobes.tech
Junior — Middle

Z akého štandardného kontajnera je implementovaná dátová štruktúra map?

sobes.tech AI

Odpoveď od AI

V štandardni knjižnici C++ je struktura podatkov std::map implementirana na osnovi rdeče-črnega drevesa (Red-Black Tree). To je uravnoteženo binarno iskalno drevo, ki zagotavlja logaritemski čas za vstavljanje, brisanje in iskanje elementov.

V C++ je std::map asocijativni vsebnik, ki shranjuje pare ključ-vrednost v sortirani obliki po ključu. Zahvaljujoč rdeče-črnemu drevesu je drevo uravnoteženo in operacije so učinkovite.

Primer uporabe std::map:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "ena";
    myMap[2] = "dva";
    myMap[3] = "tri";

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

Torej, std::map temelji na uravnoteženem drevesu, ne na hashtabeli (za hashtabele se uporablja std::unordered_map).