Una pila es un tipo de datos abstractos (ADT) LIFO (último en entrar, primero en salir) cuyo comportamiento puede ser modelado por una pila física de tarjetas. Las cartas se pueden agregar a la parte superior del mazo (usando la operación ’empujar’) y retirarse de la parte superior del mazo (usando la operación ‘pop’). No se puede acceder directamente a las cartas debajo de la parte superior en una pila sin quitar la carta superior hasta que se alcance esa carta.
Una pila puede ser estática o dinámica. Una pila estática es aquella cuyo espacio se asigna al comienzo de un programa, lo que significa que puede contener como máximo algún número predefinido de elementos. Esto es análogo a tener una caja para cartas que no puede contener más de 52 cartas.
En una pila dinámica, el espacio no está preasignado. Una pila dinámica no tiene límite para la cantidad de elementos que puede contener (además de las restricciones de memoria de la máquina, por supuesto). En nuestra analogía de tarjetas, esto es como si comenzaras a apilar cartas en una mesa. No hay límite en cuanto al tamaño de la pila puede crecer; Usted asigna o libera espacio para cada elemento a medida que realiza operaciones push y pop.
- ¿Qué algoritmo es mejor para datos no estructurados?
- En el software de servidor web, ¿alguna vez se prefiere la ordenación en lugar de la clasificación rápida, porque un ataque DoS podría desencadenar el comportamiento de clasificación rápida en el peor de los casos?
- ¿Cuál es el tema del proyecto de buena implementación para estudiantes junior que toman CSE 101 (Algoritmo)?
- ¿Cuál es el mejor libro para aprender a programar en estructuras de datos y algoritmos desde el principio?
- ¿Cómo se pueden usar los bucles para procesar matrices?
Una estructura de datos de pila dinámica es una implementación del tipo de datos abstractos de pila en el que el espacio para cada elemento de pila se asigna dinámicamente.