De acordo com o artigo da Wikipedia sobre listas vinculadas , inserir no meio de uma lista vinculada é considerado O (1). Eu acho que seria O (n). Você não precisaria localizar o nó que poderia estar próximo ao final da lista?
Essa análise não leva em consideração a descoberta da operação do nó (embora seja necessária) e apenas a própria inserção?
EDITAR :
As listas vinculadas têm várias vantagens sobre as matrizes. A inserção de um elemento em um ponto específico de uma lista é uma operação de tempo constante, enquanto a inserção em uma matriz pode exigir a movimentação de metade dos elementos ou mais.
A declaração acima é um pouco enganosa para mim. Corrija-me se estiver errado, mas acho que a conclusão deveria ser:
Matrizes:
- Encontrando o ponto de inserção / exclusão O (1)
- Realizando a inserção / exclusão O (n)
Listas vinculadas:
- Encontrando o ponto de inserção / exclusão O (n)
- Realizando a inserção / exclusão O (1)
Eu acho que a única vez que você não teria que encontrar a posição é se você mantivesse algum tipo de indicador para ela (como com a cabeça e a cauda em alguns casos). Portanto, não podemos dizer claramente que as listas vinculadas sempre superam os arrays para opções de inserção / exclusão.