Estructuras de datos: pilas

Nov 06 2022
Algoritmos y estructuras de datos de cero a héroe
En informática, una pila es un tipo de datos abstracto que sirve como una colección de elementos, con dos operaciones principales: Push, que agrega un elemento a la colección, y Pop, que elimina el elemento agregado más recientemente que aún no se eliminó. — Wikipedia Básicamente, una pila es una lista ordenada en la que la inserción y la eliminación se realizan en un extremo, donde el extremo generalmente se llama la parte superior.
Imagen generada usando DALL-E

En informática, una pila es un tipo de datos abstracto que sirve como una colección de elementos, con dos operaciones principales:

Push , que agrega un elemento a la colección, y

Pop , que elimina el elemento agregado más recientemente que aún no se eliminó. —Wikipedia

Básicamente, una pila es una lista ordenada en la que la inserción y la eliminación se realizan en un extremo, donde el extremo generalmente se llama la parte superior. Último en entrar, primero en salir (LIFO) o Primero en entrar, último en salir (FILO).

Analogía

Imagina que trabajas en un restaurante limpiando platos y tienes platos apilados uno encima del otro en la cantina. La placa que se encuentra en la parte superior es la primera que se retira, es decir, la placa que se ha colocado en la posición más baja permanece en la pila durante más tiempo. Por tanto, simplemente se puede observar que se sigue el orden LIFO (Last In First Out) / FILO (First In Last Out).

Complejidad del tiempo:

  • empujar() : O(1)
  • estallido() : O(1)
  • mirar() : O(1)

Puede implementar una pila usando una matriz o una lista enlazada. Hay algunos pros y contras para elegir uno u otro.

Ventajas:

  • Stack usando Linked : es más seguro, confiable ya que no se corrompen fácilmente y limpian los objetos automáticamente.
  • Stack usando Array : fácil de implementar y el puntero guardado en la memoria no está involucrado ya que tenemos acceso aleatorio.
  • Stack usando Linked: se requiere memoria adicional, el tamaño total debe definirse antes y si la pila se queda fuera de la memoria, puede provocar una terminación anormal.
  • Stack usando Array : la principal desventaja es que no crece ni se reduce según las necesidades en tiempo de ejecución.

Una pila es una estructura de datos lineal que sigue el principio de último en entrar, primero en salir (LIFO). Esto significa que el último elemento insertado dentro de la pila se elimina primero.

⬅️ Arrays y Lista Vinculada | Tabla de contenido | Siguiente (Próximamente) ➡️

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved