Lista enlazada individualmente vs lista enlazada doble
La lista vinculada es una estructura de datos lineal que se utiliza para almacenar una colección de datos. Una lista vinculada asigna la memoria a sus elementos por separado en su propio bloque de memoria y la estructura general se obtiene al vincular estos elementos como enlaces en una cadena. Una lista enlazada individualmente se compone de una secuencia de nodos y cada nodo tiene una referencia al siguiente nodo en la secuencia. Una lista doblemente enlazada contiene una secuencia de nodos en los que cada nodo contiene una referencia al siguiente nodo así como al nodo anterior.
Lista enlazada individualmente
Cada elemento en una lista enlazada individualmente tiene dos campos como se muestra en la Figura 1. El campo de datos contiene los datos reales almacenados y el siguiente campo contiene la referencia al siguiente elemento de la cadena. El primer elemento de la lista enlazada se almacena como el encabezado de la lista enlazada.
La figura 2 muestra una lista enlazada individualmente con tres elementos. Cada elemento almacena sus datos y todos los elementos excepto el último almacenan una referencia al siguiente elemento. El último elemento mantiene un valor nulo en su siguiente campo. Se puede acceder a cualquier elemento de la lista comenzando en la cabecera y siguiendo el siguiente puntero hasta que cumpla con el elemento requerido.
Lista Doble Vinculada
Cada elemento en una lista doblemente enlazada tiene tres campos como se muestra en la Figura 3. Similar a la lista enlazada individualmente, el campo de datos contiene los datos reales almacenados y el siguiente campo contiene la referencia al siguiente elemento en la cadena. Además, el campo anterior contiene la referencia al elemento anterior en la cadena. El primer elemento de la lista enlazada se almacena como el encabezado de la lista enlazada.
La figura 4 muestra una lista doblemente enlazada con tres elementos. Todos los elementos intermedios almacenan referencias a los elementos primeros y anteriores. El último elemento de la lista tiene un valor nulo en su siguiente campo y el primer elemento de la lista tiene un valor nulo en su campo anterior. La lista enlazada de forma doble se puede recorrer hacia adelante siguiendo las siguientes referencias en cada elemento y, de manera similar, se puede recorrer hacia atrás utilizando las referencias anteriores en cada elemento.
¿Cuál es la diferencia entre la lista de enlaces individuales y la lista de enlaces dobles??
Cada elemento de la lista enlazada individualmente contiene una referencia al siguiente elemento de la lista, mientras que cada elemento de la lista enlazada por duplicado contiene referencias al elemento siguiente así como al elemento anterior de la lista. Las listas con enlaces dobles requieren más espacio para cada elemento de la lista y las operaciones elementales, como la inserción y la eliminación, son más complejas, ya que tienen que lidiar con dos referencias. Pero las listas de enlaces dobles permiten una manipulación más fácil, ya que permite atravesar la lista en direcciones hacia adelante y hacia atrás.