Sobes.tech
Junior — Middle

Z jakého standardního kontejneru je implementována datová struktura map?

sobes.tech AI

Odpověď od AI

Ve standardní knihovně C++ je datová struktura std::map implementována na základě červené-černé stromu (Red-Black Tree). Jedná se o vyvážené binární vyhledávací strom, který zajišťuje logaritmické časy pro vkládání, mazání a hledání prvků.

V C++ je std::map asociativní kontejner, který ukládá páry klíč-hodnota v seřazeném pořadí podle klíče. Díky červené-černé stromu je strom vyvážený a operace jsou efektivní.

Příklad použití std::map:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "jeden";
    myMap[2] = "dva";
    myMap[3] = "tři";

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

Protože std::map je založen na vyváženém stromu, nikoliv na hashovací tabulce (pro hashovací tabulky se používá std::unordered_map).