Mantén la atención porque en este escrito encontrarás el resultado que buscas.
Solución:
Son absolutamente preciosos (tanto en la popular versión doblemente enlazada y la menos popular, ¡pero más simple y rápida cuando corresponda!, versión de un solo enlace). Por ejemplo, insertar (o eliminar) un elemento nuevo en un lugar “aleatorio” especificado en una “versión mutable de un array” (por ejemplo, un std::vector
en C++) es O(N)
dónde N
es el número de artículos en el arrayporque todo lo que sigue (en promedio, la mitad de ellos) debe cambiarse, y eso es un O(N)
operación; en una lista, es O(1)
, es decir, en tiempo constante, si ya tiene, por ejemplo, el puntero al elemento “anterior”. Grandes diferencias como esta son absolutamente enorme — la diferencia entre un programa usable y escalable del mundo real, y un juguete, “tarea” -¡nivel uno!-)
Las listas enlazadas tienen muchos usos. Por ejemplo, implementar estructuras de datos que parezcan matrices mutables para el usuario final.
Si está utilizando un lenguaje de programación que proporciona implementaciones de varias colecciones, muchas de esas colecciones se implementarán mediante listas vinculadas. Al programar en esos lenguajes, a menudo no implementará una lista vinculada, pero podría ser conveniente comprenderlos para que pueda comprender qué compensaciones están haciendo las bibliotecas que usa. En otras palabras, el conjunto “solo una parte de la teoría de las ciencias de la computación” contiene elementos que solo necesita saber si va a escribir programas que simplemente funcionen.
Las principales Aplicaciones de las Listas Enlazadas son
- Por representar Polinomios Significa además/resta/multiplicación… de dos polinomios. Por ejemplo: p1=2x^2+3x+7 y p2=3x^3+5x+2 p1+p2=3x^3+2x^2+8x+9
- En administración de memoria dinámica En asignación y liberación de memoria en tiempo de ejecución. *En Tablas de Símbolos en Paréntesis de Equilibrio
- Representación de matriz dispersa
Ref:- http://www.cs.ucf.edu/courses/cop3502h.02/linklist3.pdf