miércoles, 14 de marzo de 2012

3.2 Estructura Datos Colas

Una cola es un tipo especial de lista abierta en la que sólo se pueden insertar nodos en uno de los extremos de la lista y sólo se pueden eliminar nodos en el otro. Además, como sucede con las pilas, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído.
Este tipo de lista es conocido como lista FIFO (First In First Out), el primero en entrar es el primero en salir.
El ejemplo cotidiano es una cola para comprar, por ejemplo, las entradas del cine. Los nuevos compradores sólo pueden colocarse al final de la cola, y sólo el primero de la cola puede comprar la entrada 



ALGORITMO PARA INSERTAR
Si A=máximo entonces
mensaje (overflow)
en caso contrario
cola[A]<-- va
A<-- A+1
lor
ALGORITMO PARA EXTRAER
Si A&ltF entonces
mensaje (underflow)
en caso contrario
x <-- cola[
F <-- F+1
F]
Aplicaciones de las colas
Las operaciones principales en una cola son la de insercion y extraccion de datos, llamadas encolar (enqueue) y desencolar (dequeue).
• Las colas se utilizan en muchos algoritmos y en situaciones en las que el rendimiento de dos sistemas que se cruzan datos entre sí es más eficiente cuando no se intercambian indicativos y señales de control (handshaking) en cada transferencia.
• También almacenan temporalmente la transferencia de información, lo que permite procesarla en origen y en destino a tasas independientes.
• La cola de eventos en Java es un buen ejemplo.
• Tipos derivados: colas de prioridad y flujos de datos

No hay comentarios:

Publicar un comentario