Documente Academic
Documente Profesional
Documente Cultură
Estructuras de
Datos Estticas
Pilas o colas LIFO
(STACKS)
Introduccin
Estudio de la TAD Pila:
Definicin de la estructura de
datos e identificacin de su
conjunto de operaciones
Aplicaciones
Tipos de implementaciones
Ejemplo:
push push push pop push
Pila
vaca
Ms Operaciones
Comprobar si la pila est vaca.
Operacin necesaria para saber si se pueden
eliminar elementos
NO se puede eliminar de una pila vaca
Determinar el elemento en el tope de la
pila sin removerlo
Ejercicios con Pilas
Consideracin:
Si TOPE es igual a -1 no se puede sacar (pop),
la pila est vaca
Implementacin: Variacin
pila p;
Aplicaciones
Llamada a subprogramas
En cada llamada se guarda el estado de las variables del
programa en una pila.
Cuando se acaba la ejecucin del subprograma, se
recuperan los valores almacenados en la pila y continuar la
ejecucin del programa en el punto que fue interrumpido
Recursividad
Filas o Colas FIFO
Introduccin
Similarmente se les conoce como COLAS
Se usan a menudo para simular cosas
del mundo real
Definicin de Fila
Su representacin grfica:
Frente
A B C D
Final
B C Insertar
B C D Eliminar
C D
Frente Final Frente Final Frente Final
Ms Operaciones
Comprobar si la fila est vaca
Esto debido a que no se puede eliminar
elementos de una fila vaca
Obtener el largo de la fila
Saber cuantos elementos tiene la fila
Consideraciones
La operacin de insertar no tiene
restricciones
Solo en la implementacin
No se pueden remover elementos desde
una fila vaca (underflow)
Implementaciones
Las filas son estructuras de datos
fundamentales (no estn definidas en los
Lenguajes de Programacin)
Las implementaciones tpicas usan:
Arreglos (esttica)
Listas enlazadas (dinmica)
Implementacin con arreglos
Final
Otros tipos: Fila Doble
Variantes:
Doble fila con entrada restringida, y
Doble fila con Salida restringida
Aplicaciones
Colas de impresin
Impresora que atiende
a varios usuarios
Sistemas de Tiempo Compartido
(TimeSharing)
CPU
Memoria
Otras variantes
Colas de prioridades