Comment évaluer la complexité temporelle de l'opération de suppression d'un élément d'un tableau?
sobes.tech IA
Réponse de l'IA
La complexité temporelle de la suppression d'un élément d'un tableau dépend du type de tableau et de la méthode de suppression :
-
Dans un tableau standard (par exemple,
Arrayen Swift), supprimer un élément par index nécessite de décaler tous les éléments suivants vers la gauche pour combler le "trou". Cela conduit à une complexité de O(n), où n est le nombre d'éléments après celui supprimé. -
Si l'on supprime le dernier élément, l'opération est généralement effectuée en O(1), car aucun décalage n'est nécessaire.
-
Dans le cas des tableaux dynamiques (par exemple,
ArrayListen Java ouNSMutableArrayen Objective-C), la situation est similaire : supprimer au milieu nécessite de décaler les éléments.
Exemple :
var array = [1, 2, 3, 4, 5]
array.remove(at: 2) // supprime l'élément à l'index 2 (le nombre 3)
// Après suppression, les éléments 4 et 5 se décalent d'une position vers la gauche
Ainsi, en général, la suppression d'un élément d'un tableau est une opération avec une complexité temporelle de O(n).