Lista enlazada python

When developing our very first Mayosis theme (for selling digital products through WordPress) I captured some great looking pictures on my iMac. The 50mm Prime lens was best for this particular shot with it's beautiful depth of field rendering. Later, I added some color gradient overlay and adjusted the look and feel in Lightroom and Photoshop.
Photo by Shahadat Rahman / Unsplash

Primero para poder organizar los datos en nuestros programas, nos ayudamos de las estructuras de datos en este primer caso usaremos la más simple de todas.  Que es la lista enlazada siempre.

¿Cómo hacer una lista enlazada simple en Python?

Para empezar, tenemos que entender las partes principales de las estructuras de datos, que son el Nodo y la estructura. El Nodo es un objeto el cual manejara la información que se quiere almacenar y la estructura es aquel objeto que contiene las referencias de todos los nodos, que nos servirá para encontrar y almacenar la información.

Creemos un nodo simple en python

    class nodo():
        """docstring for Nodo"""
        def __init__(self,dato : str ):
            self.dato = dato
            self.nodo_siguiente = None

EL nodo tiene un atributo dato el cual sirve para poder almacenar lo que nosotros queramos, en este caso serán datos de tipo String. Y podemos observar un atributo nodo_siguiente, en el cual se guarda una referencia del nodo que le sigue.

Como crear una lista enlazada simple

EL nodo tiene un atributo dato el cual sirve para poder almacenar lo que nosotros queramos, en este caso serán datos de tipo String. Y podemos observar un atributo next, en el cual se guarda una referencia del nodo que le sigue.

Para crear la lista usaremos una clase llamada linked_list la cual es la que manejara toda la lista, cuando se instancie esta clase podremos usar los métodos, append() y find(), si quieres contribuir con nosotros puedes crear el método delete…

Implementemos la clase list

El tiempo de complejidad de esta lista enlazada simple es de O(n) porque estamos recorriendo la lista cada vez que queremos hacer una inserción.  Pronto veremos cómo mejorar este algoritmo para reducir el tiempo con próximas modificaciones.

Recuerda que puedes contribuir a nuestro proyecto en la siguiente dirección de github, en la sección de proyecto puedes ver que actividades están planeadas por realizar.

Puedes colaborar en Github

Jorge Nowell

Jorge Nowell

Guatemala