Como Crear Estructura De Datos Stack Python- Ejemplo

La estructura Stack funciona apilando elementos, la acción principal es  push que sirve para agregar elementos a la pila y la accion pop sirve para sacar los elementos de la pila, las pilas funcionan con el metodo LIFO "Last in Fist Out".

Nodo

Como en las estructuras anteriores vistas en este blog, todas las estructuras de datos tienen un nodo el cual sirve para almacenar  la informacion que este contiene.

Los atributos usados para este nodo son:
los ya conocidos como data que es la parte donde el nodo almacena los datos, en este caso este atributo es de tipo String, pero esto puede variar dependiendo de las necesidades de uso.
next Es el puntero que almacena el nodo siguiente

Medodo push

El metodo push es el algoritmo que se ocupa de guardar y principalemente ordenar los datos, es la interfaz que nos permite comunicarnos hacia la estuctura de datos, consiste en agregar un nuevo nodo, cuando el  nodo head es nulo el nuevo nodo se guarda en head. en el caso contrario el nodo_nuevo.next = head y el nodo head es igual al nodo nuevo.

Metodo pop

El metodo pop es la interfaz que nos permite retornar y sacar el dato de la estructura, una vez el dato es usado este es eliminado de la stack y el resultado es retornado por el metodo

Ejemplo de un stack en python

Lo descrito anteriormente representado en codigo python es el siguiente:

Complejidad

La complegidad la pila como podemos ver en el caso push es de O(1) y el metodo pop  es O(1)

Recuerda que puedes colaborar en el repositorio para agregarle funcionalidades nuevas, tambien puedes descargar el repo y utilizarlas en tu proyecto

El archivo utilizado en esta entrada lo puedes encontrar aqui.