¿Por qué y cuándo usar Stack o Queue en lugar de Arrays/Lists?

Pila:

Una pila es una estructura de datos lineal en la que se accede a los elementos, se insertan y se eliminan desde un extremo llamado la parte superior de la pila. Stack sigue el enfoque LIFO (último en entrar, primero en salir). Dos operaciones básicas en una pila son empujar y sacar.

Pila

Pila

Cola:

Una cola también es una estructura de datos lineal en la que los elementos se insertan desde un extremo llamado extremo posterior y se eliminan desde el otro extremo llamado extremo frontal. La cola sigue el enfoque FIFO (primero en entrar, primero en salir). Dos operaciones básicas en la cola son: poner y sacar de la cola. 

Cola

Cola

Formación:

Una array es una estructura de datos lineal que combina los datos del mismo tipo. Es una colección de tipos de datos similares en los que se accede a los elementos con la ayuda de índices. Los elementos de las arrays se almacenan en ubicaciones de memoria contiguas. Array es una estructura de datos estática con un tamaño limitado.

Formación

Formación

Por qué y cuándo se usa la pila o la cola en lugar de arrays/listas:

Porque lo ayudan a administrar sus datos de una manera más específica que las arrays y las listas. Significa que no tendrá que preguntarse si alguien colocó un elemento en medio de su lista al azar, estropeando ciertas invariantes al solucionar un problema. El acceso aleatorio es la naturaleza de las arrays y las listas. Son increíblemente adaptables, pero también son fácilmente corruptibles. Si desea realizar un seguimiento de sus datos, se recomienda utilizar esas recopilaciones implementadas previamente al almacenar datos como FIFO o LIFO.

  • Usamos stack o queue en lugar de arrays/lists cuando queremos los elementos en un orden específico, es decir, en el orden en que los colocamos (queue) o en el orden inverso (stack). 
  • Las colas y las pilas son dinámicas, mientras que las arrays son estáticas. Entonces, cuando requerimos memoria dinámica, usamos la cola o la pila sobre arrays. 
  • Las pilas y colas se utilizan sobre arreglos cuando se requiere acceso secuencial.
  • Para eliminar de manera eficiente cualquier dato desde el inicio (cola) o el final (pila) de una estructura de datos.
  • Cuando desee obtener elementos en el mismo orden en que los colocó, use una cola (FIFO)
  • Cuando necesite sacar las cosas en el orden opuesto al que se colocaron, use una pila (LIFO)

Publicación traducida automáticamente

Artículo escrito por aayushi2402 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *