Sobes.tech
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;
    }
}