Sobes.tech
Junior — Middle

რისი სტანდარტული კონტეინერში არის განთავსებული მონაცემთა სტრუქტურა map?

sobes.tech AI

პასუხი AI-სგან

C++ სტანდარტულ ბიბლიოთეკაში, მონაცემთა სტრუქტურა std::map რეალიზებულია წითელი-სამყარო (Red-Black Tree)-ზე. ეს არის ბალანსირებული ბინარული ძიების ხე, რომელიც უზრუნველყოფს ლოგარითმულ დროში ელემენტების ჩაწერას, წაშლას და ძიებას.

C++-ში, std::map არის ასოციაციური კონტეინერი, რომელიც ინახავს წყვილებს — გასაღებს და მნიშვნელობას — სორტირებულ წესში, გასაღების მიხედვით. წითელი-სამყარო ხის დახმარებით, ხე არის ბალანსირებული და ოპერაციები ეფექტურია.

std::map-ის გამოყენების მაგალითი:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "ერთი";
    myMap[2] = "ორი";
    myMap[3] = "სამი";

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

ამიტომ, std::map დაფუძნებულია ბალანსირებულ ხეზე, არა ჰეშ-ცხრილზე (ჰეშ-ცხრილებისთვის გამოიყენება std::unordered_map)।