- Una lista enlazada es una estructura de datos lineal que se utiliza para almacenar una colección de datos con la ayuda de Nodes. Una lista enlazada se compone de dos elementos que son datos y una referencia al siguiente Node. Se proporciona una referencia al siguiente Node con la ayuda de punteros y los datos son el valor de un Node. Cada Node contiene datos y enlaces a los otros Nodes. Es una colección ordenada de elementos de datos llamada Node y el orden lineal se mantiene mediante punteros. Tiene una ventaja sobre la array como el número de Nodes, es decir, el tamaño de la lista enlazada no es fijo y puede crecer y reducirse cuando sea necesario, a diferencia de las arrays. Algunas de las características de la lista enlazada son las siguientes:
- Los elementos consecutivos están conectados por punteros.
- El tamaño de una lista enlazada no es fijo.
- El último Node de la lista enlazada apunta a nulo.
- La memoria no se desperdicia, pero se consume memoria adicional, ya que también utiliza punteros para realizar un seguimiento del siguiente Node sucesivo.
- El punto de entrada de una lista enlazada se conoce como encabezado.
Los distintos tipos de listas enlazadas son los siguientes:
- Lista enlazada simple: es la lista enlazada más básica en la que el recorrido es unidireccional, es decir, desde el Node principal hasta el último Node.
- Lista doblemente enlazada: en esta lista enlazada, el recorrido se puede realizar de ambas maneras y, por lo tanto, requiere un puntero adicional.
- Lista enlazada circular: esta lista enlazada es unidireccional, pero en esta lista, el último Node apunta al primero, es decir, el Node principal y, por lo tanto, se vuelve de naturaleza circular.
- Lista circular doblemente enlazada: La lista circular doblemente enlazada es una combinación de la lista doblemente enlazada y la lista circular enlazada. Significa que esta lista enlazada es bidireccional y contiene dos punteros y el último puntero apunta al primer puntero.
Las listas enlazadas se utilizan más comúnmente para:
- Las listas enlazadas se utilizan principalmente debido a su inserción y eliminación efectivas.
- La inserción y la eliminación en la lista enlazada son muy efectivas y requieren menos tiempo de complejidad en comparación con la estructura de datos de array .
- Esta estructura de datos es simple y también se puede usar para implementar una pila , colas y otras estructuras de datos abstractas .
Aplicaciones de Listas Enlazadas:
- Las listas enlazadas se utilizan para implementar pilas y colas.
- Se utiliza para las diversas representaciones de árboles y gráficos.
- Se utiliza en la asignación de memoria dinámica (lista enlazada de bloques libres).
- Se utiliza para representar arrays dispersas .
- Se utiliza para la manipulación de polinomios.
- También se utiliza para realizar operaciones aritméticas con números enteros largos.
- Se utiliza para encontrar caminos en las redes.
Aplicaciones de Listas Enlazadas en el mundo real:
- La lista de canciones en el reproductor de música está vinculada a las canciones anteriores y siguientes.
- En un navegador web, las URL de la página web anterior y siguiente están vinculadas a través de los botones anterior y siguiente.
- En el visor de imágenes, las imágenes anterior y siguiente se vinculan con la ayuda de los botones anterior y siguiente.
- El cambio entre dos aplicaciones se lleva a cabo usando «alt+tab» en windows y «cmd+tab» en mac book. Requiere la funcionalidad de lista enlazada circular.
- En los móviles guardamos los contactos de las personas. Los datos de contacto recién introducidos se colocarán en el orden alfabético correcto. Esto se puede lograr mediante una lista vinculada para establecer el contacto en la posición alfabética correcta.
- Las modificaciones que se hacen en los documentos en realidad se crean como Nodes en una lista doblemente enlazada. Simplemente podemos usar la opción de deshacer presionando Ctrl+Z para modificar el contenido. Se realiza mediante la funcionalidad de la lista enlazada.
Ventajas de las listas enlazadas:
- La inserción y eliminación en listas enlazadas son muy eficientes.
- La lista vinculada se puede expandir en tiempo constante.
- Para la implementación de pilas y colas y para la representación de árboles y gráficos .
- Las listas vinculadas se utilizan para la asignación dinámica de memoria, lo que significa una utilización efectiva de la memoria, por lo tanto, sin desperdicio de memoria.
Desventajas de las listas enlazadas:
- El uso de punteros es más en listas enlazadas, por lo tanto, complejo y requiere más memoria.
- La búsqueda de un elemento es costosa y requiere una complejidad de tiempo O(n).
- El recorrido requiere más tiempo y el recorrido inverso no es posible en listas enlazadas individualmente.
- El acceso aleatorio no es posible debido a la asignación de memoria dinámica.
Publicación traducida automáticamente
Artículo escrito por aayushi2402 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA