Junior — Middle
Ποια είναι η χρονική πολυπλοκότητα της λειτουργίας προσθήκης ενός στοιχείου στην αρχή ενός πίνακα;
sobes.tech AI
Απάντηση από AI
Η προσθήκη ενός στοιχείου στην αρχή ενός πίνακα έχει συνήθως πολυπλοκότητα χρόνου O(n), όπου n είναι ο αριθμός των στοιχείων στον πίνακα.
Αυτό οφείλεται στο γεγονός ότι, για να εισάγετε στην αρχή, πρέπει να μετακινήσετε όλα τα υπάρχοντα στοιχεία προς τα δεξιά για να δημιουργήσετε χώρο για το νέο στοιχείο. Στους δυναμικούς πίνακες (π.χ., Swift Array), αυτή η διαδικασία απαιτεί αντιγραφή ή μετακίνηση στοιχείων, που διαρκεί χρόνο ανάλογο με τον αριθμό των στοιχείων.
Παράδειγμα:
var array = [2, 3, 4]
array.insert(1, at: 0) // εισάγουμε 1 στην αρχή
print(array) // [1, 2, 3, 4]
Εδώ, κατά την εισαγωγή του 1, όλα τα στοιχεία μετακινούνται μία θέση προς τα δεξιά.