Junior — Middle
De quel conteneur standard la structure de données map est-elle implémentée?
sobes.tech IA
Réponse de l'IA
Dans la bibliothèque standard de C++, la structure de données std::map est implémentée sur arbre rouge-noir (Red-Black Tree). C'est un arbre binaire de recherche équilibré qui garantit des temps logarithmiques pour l'insertion, la suppression et la recherche d'éléments.
En C++, std::map est un conteneur associatif qui stocke des paires clé-valeur dans un ordre trié par clé. Grâce à l'arbre rouge-noir, l'arbre est équilibré et les opérations sont efficaces.
Exemple d'utilisation de std::map:
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap[1] = "un";
myMap[2] = "deux";
myMap[3] = "trois";
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
Ainsi, std::map est basé sur un arbre équilibré, et non sur une table de hachage (pour les tables de hachage, on utilise std::unordered_map).