La lista doblemente enlazada es un tipo de lista enlazada en la que los Nodes contienen información y dos punteros, es decir, puntero izquierdo y puntero derecho. El puntero izquierdo en la lista doblemente enlazada apunta al Node anterior y el puntero derecho apunta al siguiente Node en la lista enlazada. El primer Node de la lista doblemente enlazada tiene NULL en su puntero izquierdo y el último Node de la lista doblemente enlazada tiene NULL en su puntero derecho. También se conoce como una lista enlazada bidireccional ya que hay dos punteros. El beneficio de esta lista doblemente enlazada es que ahora podemos navegar en ambas direcciones. Además, podemos eliminar un Node sin que contenga la dirección del Node anterior, ya que cada Node tiene un puntero izquierdo que apunta a su Node anterior.
Funcionamiento de una lista doblemente enlazada:
Un Node de lista doblemente enlazada contiene tres campos:
- puntero izquierdo,
- Información y
- Puntero derecho.
El puntero izquierdo apunta al Node anterior al Node actual y el puntero derecho apunta al Node posterior al Node actual. Una lista doblemente enlazada permite recorrer hacia atrás si es necesario. Todas las demás funciones son similares a la lista enlazada .
Se diferencia de la lista enlazada normal al permitir el recorrido bidireccional, lo que a su vez reduce la complejidad temporal de cualquier operación.
Inserción:
La inserción en una lista doblemente enlazada tiene tres casos que son los siguientes:
- Insertar un nuevo Node antes de la cabeza de la lista enlazada, es decir, al principio.
- Insertar un nuevo Node después de la cola de la lista enlazada, es decir, al final.
- Insertar un nuevo Node en una posición específica.
Supresión:
La supresión en una lista doblemente enlazada tiene tres supuestos que son los siguientes:
- Borrando el primer Node.
- Eliminando el último Node.
- Eliminar un Node específico.
Aplicaciones de la lista doblemente enlazada:
- La lista doblemente enlazada se puede usar en sistemas de navegación donde se requiere un recorrido tanto hacia adelante como hacia atrás.
- Se puede utilizar para implementar diferentes estructuras de datos de árbol.
- Se puede utilizar para implementar operaciones de deshacer/rehacer.
Aplicaciones en tiempo real de la lista doblemente enlazada:
- Las listas doblemente enlazadas se utilizan en la navegación de páginas web tanto hacia adelante como hacia atrás.
- Se puede utilizar en juegos como una baraja de cartas.
Ventajas de la lista doblemente enlazada :
- La lista doblemente enlazada permite atravesar tanto en dirección hacia adelante como hacia atrás.
- La eliminación de los Nodes se puede hacer fácilmente.
- La inversión de la lista enlazada es fácil.
- La inserción se puede realizar de manera eficiente en cualquier Node.
Desventajas de la lista doblemente enlazada :
- En una lista doblemente enlazada, cada Node tiene un puntero adicional que requiere espacio adicional.
- Las operaciones de listas doblemente enlazadas requieren que se manejen más punteros, por lo tanto, más tiempo.
- No se permite el acceso aleatorio a los elementos.
Publicación traducida automáticamente
Artículo escrito por aayushi2402 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA