Sobes.tech
Junior

Ποια είναι η χρονική πολυπλοκότητα του αλγορίθμου για την απόκτηση ενός στοιχείου από τη δομή δεδομένων Map;

sobes.tech AI

Απάντηση από AI

Στη μέση περίπτωση — $O(1)$.

Στην χειρότερη περίπτωση (με πολλά collisions) — $O(n)$, όπου $n$ είναι ο αριθμός των στοιχείων στο Map.

Αυτό οφείλεται στο ότι το Map χρησιμοποιεί έναν πίνακα κατακερματισμού. Ο χρόνος πρόσβασης σε ένα στοιχείο εξαρτάται από την ποιότητα της συνάρτησης κατακερματισμού και την υλοποίηση της επίλυσης των collisions. Ιδανικά, κάθε στοιχείο έχει μοναδικό hash και η πρόσβαση είναι άμεση. Σε περίπτωση collisions, μπορεί να χρειαστεί να ελεγχθούν τα στοιχεία με το ίδιο hash.

// Παράδειγμα πρόσβασης σε ένα στοιχείο σε Map:
const myMap = new Map();
myMap.set('key1', 'value1');
myMap.set('key2', 'value2');

const value = myMap.get('key1'); // Στη μέση περίπτωση - O(1)