Sobes.tech
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)

Είναι σημαντικό να θυμόμαστε ότι στην χειρότερη περίπτωση (π.χ., σε συγκρούσεις στον πίνακα κατακερματισμού), ο χρόνος μπορεί να επιδεινωθεί, αλλά κατά μέσο όρο η πρόσβαση θεωρείται σταθερή.