You are on page 1of 19

TDA COLA

INDICE
Definicin del TDA cola.
Operaciones fundamentales
Implementacin mediante arreglos
Aplicaciones
TDA COLA
Una cola es una coleccin ordenada de
elementos, con 3 caractersticas:
Contiene elementos del mismo tipo
(estructura homognea),
La recuperacin de elementos se realiza
segn el orden de almacenamiento (acceso
FIFO) y
La cantidad de elementos almacenados
vara durante la ejecucin (estructura
dinmica).
TDA COLA
En una cola, los elementos se almacenan
a partir de una direccin de memoria
ocupando posiciones consecutivas y
ordenadas.
La recuperacin de elementos se realiza
por el frente y la insercin por el final.
TDA COLA - OPERACIONES
Sobre el TDA cola se definen las siguientes
operaciones:
Iniciar cola (Init_Queue)
Agregar elemento (Push_Queue)
Extraer elemento (Pop_Queue)
Determinar cola vaca (Empty_Queue)
Determinar cola llena (Full_Queue)
Consulta primer elemento (Top_Queue)
Consulta ltimo elemento (Bottom_Queue)
TDA COLA - OPERACIN
INICIALIZAR
Init_Queue
Propsito: inicializar la cola (esto genera
una cola vaca).
Entrada: cola de datos.
Salida: cola de datos inicializada (cola
vaca).
Restricciones: ninguna.
TDA COLA OPERACIN
AGREGAR
Push_Queue
Propsito: agregar un elemento a la cola
de datos (del final).
Entrada: cola de datos y nuevo elemento.
Salida: cola de datos con un nuevo
elemento al final.
Restricciones: cola inicializada y
contenedor de Datos no completo.
TDA COLA OPERACIN
COLA LLENA?
Full_Queue
Propsito: determinar si el contenedor de
datos de la cola est completo.
Entrada: cola de datos.
Salida: valor lgico true si el contenedor
est completo o false en caso contrario.
Restricciones: cola inicializada.
TDA COLA OPERACIN
QUITAR ELEMENTO
Pop_Queue
Propsito: quitar el elemento del frente de
la cola de datos (del frente).
Entrada: cola de datos.
Salida: cola de datos con un elemento
menos, se modifica el frente.
Restricciones: cola inicializada y
contenedor de datos no vaco.
TDA COLA OPERACIN
COLA VACIA?
Empty_Queue
Propsito: determinar si el contenedor de
datos de la cola est vaco.
Entrada: cola de datos.
Salida: valor lgico true si el contenedor
est vaco o false en caso contrario.
Restricciones: cola inicializada.
TDA COLA OPERACIN
CONSULTAR AL RPINCIPIO
Top_Queue
Propsito: consultar el elemento que se
encuentra al frente de la cola de datos.
Entrada: cola de datos.
Salida: elemento del frente de la cola de
datos.
Restricciones: cola inicializada y
contenedor de datos no vaco.
TDA COLA OPERACIN
CONSULTAR EL FINAL
Bottom_Queue
Propsito: consultar el elemento que se
encuentra al final de la cola de datos.
Entrada: cola de datos.
Salida: elemento del final de la cola de
datos.
Restricciones: Cola inicializada y
contenedor de datos no vaco
Implementacin
Un contenedor de datos y un ndice. El
frente coincide con la primer posicin
del contenedor, mientras que el ndice
apunta al elemento final de la cola.
Un contenedor y 2 ndices. Los ndices se
utilizan para apuntar, respectivamente, al
frente y final de la cola.
almacenamiento lineal
almacenamiento circular
Implementacin
El TDA cola, implementado utilizando un
almacenamiento circular, puede
presentar 2 variantes:
Implementacin que prioriza la velocidad
de procesamiento.
Implementacin que prioriza el espacio de
almacenamiento.
TDA cola: Implementacin que prioriza
velocidad de procesamiento.
frente: indica el ltimo elemento que se
extrajo de la cola.
final: indica el ltimo elemento que se
agreg a la cola
contenedor=ARREGLO [1..MAX] de
ELEMENTOS
tcola=REGISTRO
datos : contenedor
frente, final: ENTERO
FIN_REGISTRO
TDA cola: Implementacin que
prioriza espacio de
almacenamiento en memoria.
contenedor=ARREGLO [1..MAX] de
ELEMENTOS
tcola=REGISTRO
datos:contenedor
frente,final:ENTERO
cantidad:ENTERO
FIN_REGISTRO
Cmo se modifican las
operaciones bsicas?
Modificaciones en las operaciones del TDA
cola:
init_cola: se inicia el contador de elementos.
push_cola: se actualiza la cantidad de
elementos de la cola (incremento).
full_cola: se verifica si el contador alcanz la
mxima capacidad del contenedor .
pop_cola: se actualiza la cantidad de
elementos de la cola (decremento).
empty_cola: se verifica si el contador alcanz el
valor de inicializacin (cero).
top_cola y bottom_cola: no se modifican.
El concepto de cola puede
aplicarse para resolver:
simulacin (teora de colas)
algoritmos de reemplazo
colas de impresin, acceso (escritura)
almacenamiento secundario
sistemas de tiempo compartido
uso de la unidad central de proceso
(UCP)

You might also like