programación en pitón
Las estructuras de datos y los algoritmos son la columna vertebral de la programación de computadoras. Como programador, es muy importante tener un buen dominio sobre ellos. Este artículo es sobre lo que es una lista vinculada? e implementación de la lista de enlaces Singly utilizando el lenguaje de programación Python.

¿Qué Son Las Listas Enlazadas?

Lista enlazada es una estructura de datos lineal.  Básicamente, estos son los enlaces en una cadena que pueden ser muy largos, y estas cadenas son nodos que juntos forman una secuencia lineal. La representación del diagrama se muestra a continuación.
En una lista enlazada, cada nodo contiene dos elementos, es decir, un valor de cualquier tipo, ya que es un tipo de matriz y referencia al siguiente elemento en la secuencia como se muestra en la figura anterior.

Lista Enlazada Individualmente Y Su Implementación A Través Del Lenguaje Python

Una lista enlazada individualmente es también una colección de nodos y tiene un punto de inicio llamado HEAD  y un punto final llamado TAIL.
  • La cabeza es el puntero que simplemente apunta o identifica al primer elemento en la lista enlazada individualmente.
  • Tail identifica al último nodo en la lista enlazada individualmente y, en este caso, la parte de referencia del nodo apunta a nada o nula.
Esto es lo que a una sola lista le gustó parece diagramáticamente. Cada nodo tiene una clave / valor que son cadenas en el caso que se muestra arriba, y una referencia, es decir, un puntero siguiente que apunta al siguiente elemento. Básicamente, el primer nodo es la cabeza y el último nodo es la cola en la lista. El movimiento de un nodo a otro se denomina recorrido en la lista.
NOTA: Una lista enlazada individualmente no tiene un tamaño predeterminado, por lo que utiliza el espacio proporcionalmente según el número de elementos presentes en la lista y, a diferencia de las matrices, no tiene la asignación de memoria contigua, es decir, no están asignadas una tras otra, Distribuido en memoria y adjunto a través de puntero que llamamos la parte de referencia.

Operaciones Básicas En La Lista De Enlaces Individuales

Básicamente, hay dos operaciones que normalmente realizamos con la lista enlazada individualmente.
  1. Empuje es decir insertando un nuevo elemento.
  2. Pop, es decir, eliminar / eliminar un elemento de la lista.

Operación De Empuje

En la operación de inserción, simplemente tomamos una nueva clave / valor y la agregamos a la lista existente. La operación de empuje se puede realizar en diferentes casos.
  1. Insertando el elemento al principio.
  2. Insertando el elemento al final.
Insertar el elemento al principio.
Insertando el elemento al final.

Operación POP

La eliminación de un elemento de la cabecera de la lista es el proceso opuesto de inserción de elementos en la cabecera, pero la eliminación del último nodo es una operación aburrida y no es una tarea fácil. Usted debe preguntarse ¿Por qué?
Bueno, supongamos que hay una lista enlazada individualmente que contiene  20 valores y queremos eliminar el último elemento, en ese caso, tenemos que atravesar el último nodo, solo podemos eliminarla, y este no es un método eficiente. En Ciencias de la Computación, resolver un problema determinado con eficiencia es una preocupación importante y el método de recorrido descrito anteriormente no es la solución adecuada a la que podemos acudir.

Pros Y Contras De La Lista Enlazada Individualmente

Pros

  • Tienen constante inserción de tiempo y eliminaciones en cualquier caso.
  • Su tamaño no es fijo y es flexible.

Contras

  • La accesibilidad de los elementos en la lista enlazada no es fácil y es un proceso largo y el tiempo en forma de Big O viene dado por O (k) para el recorrido desde la cabeza hasta el elemento (kth) de la lista.

Código

Puedes usar cualquier editor de texto y probar este código.
Salida:
Para un estudio detallado, revisión y problemas de práctica, puede revisar este curso:  Complete Python Bootcamp: Vaya de cero a héroe en Python en Udemy