Sobes.tech
Junior — Middle

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, Array en 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, ArrayList en Java ou NSMutableArray en 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).