Junior — Middle
Μπορείς να δώσεις παραδείγματα δομών δεδομένων που παρέχουν γρήγορη πρόσβαση σε ένα στοιχείο σε σταθερό χρόνο;
sobes.tech AI
Απάντηση από AI
Οι δομές δεδομένων που διασφαλίζουν πρόσβαση σε ένα στοιχείο σε σταθερό χρόνο (O(1)) περιλαμβάνουν:
- Πίνακες κατακερματισμού (HashMap, HashSet) — η πρόσβαση μέσω κλειδιού πραγματοποιείται σε μέσο όρο σταθερό χρόνο.
- Πίνακες (Array) — η πρόσβαση μέσω δείκτη πραγματοποιείται σε σταθερό χρόνο.
Παράδειγμα σε Kotlin για HashMap:
val map = hashMapOf("key1" to "value1", "key2" to "value2")
val value = map["key1"] // πρόσβαση σε O(1)
Είναι σημαντικό να θυμόμαστε ότι στην χειρότερη περίπτωση (π.χ., σε συγκρούσεις στον πίνακα κατακερματισμού), ο χρόνος μπορεί να επιδεινωθεί, αλλά κατά μέσο όρο η πρόσβαση θεωρείται σταθερή.