Sobes.tech
Junior — Middle

Aus welchem Standard-Container ist die Datenstruktur Map implementiert?

sobes.tech KI

Antwort von AI

In der Standardbibliothek von C++ ist die Datenstruktur std::map auf Rot-Schwarz-Bäumen (Red-Black Tree) implementiert. Es ist ein balancierter binärer Suchbaum, der logarithmische Zeiten für Einfügen, Löschen und Suchen von Elementen gewährleistet.

In C++ ist std::map ein assoziativer Container, der Schlüssel-Wert-Paare in sortierter Reihenfolge nach Schlüssel speichert. Dank des Rot-Schwarz-Baums wird die Baumbalance gewährleistet und die Operationen sind effizient.

Beispiel für die Verwendung von std::map:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "eins";
    myMap[2] = "zwei";
    myMap[3] = "drei";

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

Daher basiert std::map auf einem balancierten Baum und nicht auf einer Hashtabelle (für Hashtabellen wird std::unordered_map verwendet).