Selon le Wikipedia article on linked lists, l'insertion au milieu d'une liste lié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 être proche de la fin de la liste?Pourquoi insérer au milieu d'une liste chaînée O (1)?
Est-ce que cette analyse ne tient pas compte de la découverte de l'opération du nœud (bien que cela soit obligatoire) et de l'insertion elle-même?
EDIT:
listes chaînées ont plusieurs avantages sur les tableaux. L'insertion d'un élément à un point spécifique d'une liste est une opération à temps constant, tandis que l'insertion dans un tableau peut nécessiter le déplacement de la moitié des éléments, ou plus.
La déclaration ci-dessus est un peu trompeuse pour moi. Corrigez-moi si je me trompe, mais je pense que la conclusion devrait être:
tableaux:
- Trouver le point d'insertion/suppression O (1)
- Effectuer l'insertion/suppression O (n)
listes chaînées:
- Trouver le point d'insertion/suppression O (n)
- Effectuer l'insertion/suppression O (1)
Je pense que la seule fois que vous ne devez trouver la position est si vous avez gardé quelques-uns sorte de pointeur vers lui (comme avec la tête et la queue dans certains cas). Nous ne pouvons donc pas affirmer catégoriquement que les listes liées battent toujours les tableaux pour les options d'insertion/suppression.
Pas * assez * un doublon. La question précédente portait sur les tableaux dynamiques, en utilisant des listes chaînées comme référence pour la comparaison. –