Junior — Middle
Ποια είναι η χρονική πολυπλοκότητα της λειτουργίας εισαγωγής ενός νέου στοιχείου σε έναν πίνακα;
sobes.tech AI
Απάντηση από AI
Η εισαγωγή ενός νέου στοιχείου σε έναν πίνακα έχει μια χρονική πολυπλοκότητα O(n) στην χειρότερη περίπτωση, όπου n είναι ο αριθμός των στοιχείων στον πίνακα.
Ο λόγος είναι ότι ο πίνακας έχει σταθερό μέγεθος, και για να εισάγετε ένα στοιχείο στη μέση ή στην αρχή, πρέπει να μετακινήσετε όλα τα επόμενα στοιχεία μία θέση προς τα δεξιά. Αν η εισαγωγή γίνεται στο τέλος και υπάρχει ελεύθερος χώρος, η λειτουργία μπορεί να είναι O(1).
Παράδειγμα:
- Εισαγωγή στο τέλος με διαθέσιμο χώρο: O(1)
- Εισαγωγή στην αρχή ή στη μέση: O(n) λόγω μετακίνησης των στοιχείων
Σε δυναμικούς πίνακες (π.χ., ArrayList στη Java), όταν ο πίνακας γεμίζει, γίνεται αντιγραφή σε έναν νέο πίνακα μεγαλύτερου μεγέθους, που επίσης απαιτεί χρόνο O(n).