Sobes.tech
Junior — Middle

Millises standardkonteineris on rakendatud andmestruktuur map?

sobes.tech AI

Vastus AI-lt

C++ standardraamatukogus on andmestruktuur std::map rakendatud punane-must puu (Red-Black Tree) alusel. See on tasakaalustatud binaarne otsingupuu, mis tagab logaritmilise aja elementide sisestamiseks, kustutamiseks ja otsimiseks.

C++-s on std::map assotsiatiivne konteiner, mis salvestab paarid võti-väärtus sorteeritud järjekorras võti järgi. Tänu punase-musta puu struktuurile on puu tasakaalus ning operatsioonid on tõhusad.

Näide std::map kasutamisest:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "üks";
    myMap[2] = "kaks";
    myMap[3] = "kolm";

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

Seega põhineb std::map tasakaalustatud puul, mitte hajemahustabelil (hajemahustabelite jaoks kasutatakse std::unordered_map).