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).