Junior — Middle
Ποια είναι η χρονική πολυπλοκότητα της λειτουργίας αναζήτησης ενός στοιχείου με βάση το κλειδί στο std::unordered_map;
sobes.tech AI
Απάντηση από AI
Η χρονική πολυπλοκότητα της αναζήτησης ενός στοιχείου με κλειδί σε std::unordered_map είναι κατά μέσο όρο O(1) — σταθερός χρόνος, χάρη στη χρήση ενός πίνακα κατακερματισμού.
Ωστόσο, στη χειρότερη περίπτωση (π.χ., με πολλές συγκρούσεις), η πολυπλοκότητα μπορεί να επιδεινωθεί σε O(n), όπου n είναι ο αριθμός των στοιχείων στον δοχείο.
Παράδειγμα χρήσης:
#include <unordered_map>
#include <string>
int main() {
std::unordered_map<std::string, int> map;
map["key"] = 42;
auto it = map.find("key");
if (it != map.end()) {
// Πρόσβαση στο στοιχείο κατά μέσο όρο σε O(1)
int value = it->second;
}
}