tda cola

19
TDA COLA

Upload: caposar

Post on 24-Nov-2015

9 views

Category:

Documents


1 download

TRANSCRIPT

TDA PILA

TDA COLAINDICEDefinicin del TDA cola.Operaciones fundamentalesImplementacin mediante arreglosAplicacionesTDA COLAUna 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) yLa cantidad de elementos almacenados vara durante la ejecucin (estructura dinmica).TDA COLAEn 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 - OPERACIONESSobre 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_QueuePropsito: inicializar la cola (esto genera una cola vaca).Entrada: cola de datos.Salida: cola de datos inicializada (cola vaca).Restricciones: ninguna.TDA COLA OPERACIN AGREGARPush_QueuePropsito: 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_QueuePropsito: 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 ELEMENTOPop_QueuePropsito: 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_QueuePropsito: 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 RPINCIPIOTop_QueuePropsito: 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 FINALBottom_QueuePropsito: 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 vacoImplementacinUn 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 linealalmacenamiento circularImplementacinEl 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 colacontenedor=ARREGLO [1..MAX] de ELEMENTOStcola=REGISTROdatos : contenedorfrente, final: ENTEROFIN_REGISTROTDA cola: Implementacin que prioriza espacio dealmacenamiento en memoria.contenedor=ARREGLO [1..MAX] de ELEMENTOStcola=REGISTROdatos:contenedorfrente,final:ENTEROcantidad:ENTEROFIN_REGISTROCmo 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 reemplazocolas de impresin, acceso (escritura) almacenamiento secundariosistemas de tiempo compartidouso de la unidad central de proceso (UCP)