Selon la Article de Wikipédia sur les listes chaînées L'insertion au milieu d'une liste chaînée est considérée comme O(1). Je pense que ce serait O(n). N'auriez-vous pas besoin de localiser le nœud qui pourrait se trouver près de la fin de la liste ?
Cette analyse ne tient-elle pas compte de la recherche de l'opération de nœud (bien qu'elle soit nécessaire) et seulement de l'insertion elle-même ?
EDITAR :
Les listes chaînées présentent plusieurs avantages par rapport aux tableaux. L'insertion d'un élément en un point précis d'une liste est une opération à temps constant, alors que l'insertion dans un tableau peut nécessiter le déplacement de la moitié des éléments, voire davantage.
La déclaration ci-dessus me semble quelque peu trompeuse. Corrigez-moi si je me trompe, mais je pense que la conclusion devrait être :
Les tableaux :
- Trouver le point d'insertion/suppression O(1)
- Réalisation de l'insertion/suppression O(n)
Listes liées :
- Trouver le point d'insertion/suppression O(n)
- Réalisation de l'insertion/suppression O(1)
Je pense que le seul cas où vous n'auriez pas à trouver la position est celui où vous garderiez une sorte de pointeur vers elle (comme avec la tête et la queue dans certains cas). On ne peut donc pas affirmer catégoriquement que les listes chaînées l'emportent toujours sur les tableaux en ce qui concerne les options d'insertion/suppression.