Skip to main content

Cómo Crear Una Lista De Doble Enlace En Python: Ejemplos Y Explicación Del Código

  • Marcelo Márquez Aguirre
  • Software

Una lista de doble enlace es una estructura de datos en la que cada elemento contiene dos punteros: uno al elemento anterior y otro al siguiente elemento. A diferencia de una lista enlazada normal, una lista enlazada doble le permite acceder r pidamente al elemento anterior y al siguiente. Crear y trabajar con una lista puede ser til en muchos algoritmos y en la resoluci n de problemas de programaci n.

En este art culo, veremos c mo crear y usar una lista de doble enlace en el lenguaje de programaci n Python. Proporcionaremos algunos ejemplos de c digo para Mostrar c mo agregar, eliminar y modificar elementos de la lista, as como c mo recorrer la lista en ambas direcciones.

Una forma de implementar una lista de doble enlace en Python es usar clases. Cada elemento de la lista estar representado por un objeto de esta clase que contiene los valores del elemento y las referencias a los elementos anterior y siguiente. Esta implementaci n le permite administrar la lista de manera conveniente y flexible, agregar y eliminar elementos y realizar otras operaciones.

A continuaci n, veremos ejemplos de c digo que lo ayudar n a comprender mejor c mo crear y usar una lista de doble enlace en Python. Aprender a crear una lista, agregar y eliminar elementos, y recorrer la lista en ambas direcciones. El conocimiento de trabajar con listas de doble enlace le abrir nuevas oportunidades en la programaci n y la soluci n de varios problemas.

  1. Qu es una lista de doble enlace
  2. Ventajas de usar una lista de doble enlace
  3. C mo crear una lista de doble enlace en Python
  4. Inicializaci n de una lista de doble enlace
  5. Agregar elementos a una lista de doble enlace
  6. Ejemplos de uso de una lista de doble enlace en Python
  7. Pregunta-respuesta
  8. Qu es una lista de doble enlace?
  9. C mo crear una lista vac a de doble enlace en Python?
  10. C mo agrego un elemento al principio de una lista de doble enlace?
  11. C mo elimino un elemento de una lista de doble enlace?
  12. C mo iterar y Mostrar todos los elementos de una lista de doble enlace?

Qu es una lista de doble enlace

Una lista de doble enlace es una estructura de datos que consta de nodos, cada uno de los cuales contiene referencias a los elementos anteriores y siguientes de la lista. Por lo tanto, cada elemento de la lista tiene dos relaciones: una con el elemento anterior y otra con el siguiente.

La principal ventaja de una lista de doble enlace es la capacidad de insertar y eliminar elementos de manera eficiente en una ubicaci n arbitraria de la lista. Esto se logra mediante la presencia de referencias a los elementos anteriores y siguientes. A diferencia de una lista enlazada nica, no es necesario recorrer toda la lista de principio a fin para realizar estas operaciones en una lista enlazada doble.

Cada nodo de una lista doblemente enlazada contiene dos punteros que pueden ser Null si el elemento es el primero o el ltimo en la lista, o apuntando a los elementos anterior y siguiente. El primer elemento de la lista tiene una referencia al elemento Null Anterior y el ltimo elemento tiene una referencia al siguiente elemento Null.

Ejemplo de lista de doble enlace:

Nodo 1Nodo 2Nodo 3Nodo 4
Valor: 10Valor: 20Valor: 30Valor: 40
Anterior: NullAnterior: Nodo 1Anterior: Nodo 2Anterior: Nodo 3
Siguiente: Nodo 2Siguiente: Nodo 3Siguiente: Nodo 4Siguiente: Null

En este ejemplo, los nodos contienen los valores 10, 20, 30 y 40. En el primer nodo, la referencia al elemento anterior es Null y la referencia al elemento siguiente es igual al nodo 2. En el ltimo nodo, la referencia al elemento anterior es igual al nodo 3 y la referencia al siguiente elemento es Null.

La lista de doble enlace se usa a menudo en situaciones en las que desea realizar operaciones de inserci n y eliminaci n de elementos en el medio de la lista. Sin embargo, requiere m s memoria que una lista enlazada debido a tener dos punteros para cada nodo.

Ventajas de usar una lista de doble enlace

Una lista de doble enlace es una de las estructuras de datos, que es una secuencia de elementos relacionados entre s . Cada elemento de una lista de doble enlace contiene referencias a los elementos anterior y siguiente, lo que permite avanzar y retroceder en la lista.

El uso de una lista de doble enlace tiene varias ventajas:

  • Insertar y eliminar elementos: una lista de doble Enlace tiene capacidades efectivas para insertar y eliminar elementos. A diferencia de una matriz, donde insertar o eliminar un elemento puede requerir que todos los elementos posteriores se reorganicen, en una lista de doble enlace, es suficiente intercambiar referencias a elementos adyacentes. Esto hace que las operaciones de inserci n y eliminaci n sean m s r pidas y eficientes.
  • Acceso a elementos: En una lista de doble enlace, se puede acceder a los elementos a trav s del ndice o mediante la navegaci n hacia atr s desde el final hasta el principio de la lista. Esto hace que sea f cil recorrer la lista en ambas direcciones y buscar elementos.
  • Memoria: la lista de doble Enlace permite un uso eficiente de la memoria. Cada elemento de la lista contiene referencias a los elementos anterior y siguiente, lo que ahorra memoria al almacenar datos.

Por lo tanto, el uso de una lista de doble enlace es una opci n v lida en situaciones en las que es necesario insertar y eliminar elementos con frecuencia, y cuando es necesario acceder a los elementos de la lista de manera efectiva.

C mo crear una lista de doble enlace en Python

Una lista de doble enlace es una estructura de datos que consta de nodos, cada uno de los cuales contiene una referencia a los nodos anterior y siguiente. Esta estructura de datos le permite insertar, eliminar y acceder a los elementos de la lista de manera eficiente.

En Python, puede crear una lista de doble enlace definiendo una clase para el nodo de la lista y una clase para la lista en s .

Aqu hay un c digo de ejemplo que muestra c mo crear una lista de doble enlace en Python:

class Node:

def __init__(self, data):

self.data = data

self.prev = None

self.next = None

class DoublyLinkedList:

def __init__(self):

self.head = None

def append(self, data):

new_node = Node(data)

if self.head is None:

self.head = new_node

else:

current_node = self.head

while current_node.next:

current_node = current_node.next

current_node.next = new_node

new_node.prev = current_node

def display(self):

current_node = self.head

while current_node:

print(current_node.data)

current_node = current_node.next

, Node. .

DoublyLinkedList . Tiene una propiedad head que es una referencia al primer nodo de la lista.

El m todo append le permite agregar un nuevo nodo al final de la lista. Si la lista est vac a, el nuevo nodo se convierte en el primer elemento. De lo contrario, los nodos de la lista se iteran hasta el ltimo nodo, despu s de lo cual se agrega un nuevo nodo despu s de l.

El m todo display le permite Mostrar los elementos de la lista en la consola.

Aqu hay un ejemplo de uso:

linked_list = DoublyLinkedList()

linked_list.append(1)

linked_list.append(2)

linked_list.append(3)

linked_list.display()

El resultado de la ejecuci n del c digo ser :

  1. 1
  2. 2
  3. 3

Por lo tanto, la lista de doble enlace se crea con xito y se llena con elementos.

Inicializaci n de una lista de doble enlace

Una lista de doble enlace es una estructura de datos que consta de nodos, cada uno con dos referencias, una al nodo anterior y otra al siguiente. Esta lista le permite realizar operaciones de inserci n, eliminaci n y b squeda de elementos de manera eficiente.

Para inicializar una lista de doble enlace en Python, debe crear una clase que represente el nodo de la lista. Cada nodo contendr un valor y referencias a los nodos siguiente y anterior.

:

class Node:

def __init__(self, data):

self.data = data

self.prev = None

self.next = None

si el nodo es el primero o el ltimo en la lista.

A continuaci n se muestra el c digo de ejemplo para crear una lista de doble enlace:

def init_dllist():

#

node1 = Node(1)

node2 = Node(2)

node3 = Node(3)

#

node1.prev = None

node1.next = node2

node2.prev = node1

node2.next = node3

node3.prev = node2

node3.next = None

#

return node1

En este ejemplo, creamos tres nodos, establecemos referencias al nodo anterior y al siguiente para cada nodo y devolvemos el primer nodo de la lista.

Ahora podemos usar esta funci n para inicializar una lista de doble enlace:

dllist = init_dllist()

La lista doblemente enlazada resultante contendr los valores 1, 2 y 3, y los nodos se vincular n en el orden correcto.

Agregar elementos a una lista de doble enlace

Una lista de doble enlace es una estructura de datos en la que cada elemento tiene una referencia a los elementos anterior y siguiente. La adici n de nuevos elementos a dicha lista se realiza modificando los enlaces. Aqu hay un c digo de ejemplo en Python que demuestra agregar un elemento a una lista de doble enlace:

class Node:

def __init__(self, data):

self.data = data

self.prev = None

self.next = None

class DoublyLinkedList:

def __init__(self):

self.head = None

def add_node(self, data):

new_node = Node(data)

if self.head is None:

self.head = new_node

else:

current = self.head

while current.next:

current = current.next

current.next = new_node

new_node.prev = current

list = DoublyLinkedList()

list.add_node(1)

list.add_node(2)

list.add_node(3)

En este ejemplo, se crea una clase Node que representa un elemento de una lista doblemente enlazada. Tiene una propiedad de almacenamiento de datos (data) y dos referencias: prev al elemento anterior y next al siguiente elemento. Despu s de eso, se crea una clase DoublyLinkedList que contiene una referencia a la cabeza de la lista (head) y un m todo add_node para agregar un nuevo elemento.

El m todo add_node comprueba si la cabeza de la lista est vac a. Si es as , el nuevo elemento se convierte en la cabeza de la lista. Si no es as , pasamos por la lista, comenzando con la cabeza, hasta llegar al ltimo elemento (current.next is None). Despu s de eso, establecemos el enlace current.next en el nuevo elemento y la referencia new_node.prev en el elemento actual, a adiendo as un nuevo elemento al final de la lista.

Como resultado, si ejecuta este c digo, los elementos 1, 2 y 3 se agregar n a la lista de doble enlace.

Ejemplos de uso de una lista de doble enlace en Python

Una lista de doble enlace es una estructura de datos que consiste en nodos donde cada nodo contiene una referencia a los nodos anterior y siguiente. Esta estructura de datos proporciona flexibilidad y eficiencia para las operaciones de adici n, eliminaci n y acceso a elementos.

Aqu hay algunos ejemplos del uso de una lista de doble enlace en Python:

yo.cabeza = corriente.siguiente

si es actual.siguiente:

actual.siguiente.anterior = actual.anterior

descanso