Junior — Middle
Ποια λειτουργία στην ArrayList εκτελείται σε σταθερό χρόνο χωρίς εξάρτηση από το μέγεθος της λίστας;
sobes.tech AI
Απάντηση από AI
Στο ArrayList, η λειτουργία πρόσβασης με δείκτη (get(index)) πραγματοποιείται σε σταθερό χρόνο O(1), ανεξάρτητα από το μέγεθος της λίστας. Αυτό οφείλεται στο γεγονός ότι το ArrayList υλοποιείται με βάση έναν πίνακα, και τα στοιχεία αποθηκεύονται σε μια συνεχόμενη περιοχή μνήμης, επιτρέποντας άμεση πρόσβαση σε ένα στοιχείο μέσω του δείκτη του.
Παράδειγμα:
ArrayList<String> list = new ArrayList<>();
list.add("μήλο");
list.add("μπανάνα");
String φρούτο = list.get(1); // Ανάκτηση του στοιχείου "μπανάνα" σε O(1)
Άλλες λειτουργίες, όπως η εισαγωγή ή η διαγραφή στο μέσο της λίστας, απαιτούν μετακίνηση στοιχείων και εκτελούνται σε γραμμικό χρόνο O(n).