Solución:
No, no te falta nada.
Si desea eliminar un elemento específico, la complejidad del tiempo es O(n)
(dónde n
es el número de elementos) porque primero debe encontrar el elemento.
Si desea eliminar un elemento en un índice específico i
, la complejidad del tiempo es O(i)
porque tienes que seguir los enlaces desde el principio.
La complejidad temporal de la inserción es solo O(1)
si ya tiene una referencia al nodo que desea insertar después. La complejidad del tiempo para la eliminación es solo O(1)
para obtener una lista doblemente vinculada si ya tiene una referencia al nodo que desea eliminar. La eliminación de una lista vinculada individualmente es solo O(1)
si ya tiene referencias al nodo que desea eliminar y al anterior. Todo esto contrasta con una lista basada en matrices donde las inserciones y eliminaciones son O(n)
porque tienes que desplazar elementos a lo largo.
La ventaja de usar una lista vinculada en lugar de una lista basada en una matriz es que puede insertar o eliminar elementos de manera eficiente mientras itera sobre ella. Esto significa, por ejemplo, que filtrar una lista enlazada es más eficiente que filtrar una lista basada en una matriz.