revista de cola
DESCRIPTION
todo sobre colaTRANSCRIPT
QUE ES UNA COLA??
CARACTERISTICA
S
COLA CIRCULAR
OPREACIONES
BASICAS ALGORITMOS
CRISMAR JIMENEZ - DIRECTORA DE ASTROCANAL
COLAS
Una cola (también
llamada fila) es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.
Las colas se utilizan en
sistemas informáticos, transportes y operaciones de investigación(entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.
En caso de estar vacía, borrar un elemento sería
imposible hasta que no se añade un nuevo elemento. A
la hora de añadir un elemento podríamos darle una mayor importancia a
unos elementos que a otros (un cargo VIP) y para ello se crea un tipo de cola especial que es la cola de prioridad.
(Ver cola de prioridad).
USOS CONCRETOS DE LA
COLA…
La particularidad de una estructura de datos de cola es el hecho de que sólo
podemos acceder al primer y al último elemento de la estructura. Así mismo, los elementos sólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola.
Ejemplos de colas en la vida real serían: personas comprando en un supermercado, esperando para entrar a ver un partido de béisbol, esperando en el cine para ver una película, una pequeña peluquería, etc. La idea esencial es que son todas líneas de espera.
OPERACIONES BASICAS
ALGORITMOS
Push- INSERTAR Definición: Push es simplemente el método por el cual va agregando un Dato nuevo a la Cola tomando en cuenta el Tamaño Máximo de Capacidad (Max), el Frente y el Final de la Cola. Detalle: Primer nos aseguramos que la Cola no este Llena, para que de esta manera sea capaz de insertar un Elemento nuevo. Si no desplegara Cola Llena. Después compara para determinar las posiciones de Frente y Final y de esta manera poder moverlo con libertad. Ya que determina los valores de Frente y Final, nos Indica que Cola[Final] tomara el valor de Elemento.
PoP – ELIMINAR
Definición: Pop es simplemente el método por el cual va sacando el primer Dato de la Cola (esto se comprueba ya que las Colas son FIFO), para esto toma en cuenta el Frente. Detalle: Compara para determinar si la cola esta vacía, de otra forma lo que hace es Imprimir “Eliminando el Dato…”. Después se hacen una series decomparaciones para determinar la nueva posición de Frente, de esa forma el Dato que existía en Frente es Eliminado.
COLA CIRCULAR…
Una cola circular o anillo es una estructura de datos en la que los
elementos están de forma circular y cada elemento tiene un sucesor y
un predecesor. Los elementos pueden consultarse, añadirse y
eliminarse únicamente desde la cabeza del anillo que es una posición
distinguida. Existen dos operaciones de rotaciones, una en cada
sentido, de manera que la cabeza del anillo pasa a ser el elemento
sucesor, o el predecesor, respectivamente, de la cabeza actual.
La cola circular de la figura anterior tiene siete datos enteros, con el entero 1primero. Esta cola está
llena y no puede almacenar más datos hasta que front avance una posición en sentido horario (para recuperar el entero 1) y rear avance una posición en la misma direción (para identificar la posición que contendrá el nuevo entero). Al igual que con la cola lineal, la razon de la posición vacía, que identifica front, implica el comportamiento circular de la cola. Inicialmente, front yrear identifican la misma posición, lo que indica una cola vacía. Entonces rear avanza una posición por cada nueva inserción. De forma similar, front avanza una posición por cada recuperación/borrado.
La solución que se describe implica reutilizar las
componentes del vector que contenían elementos ya
eliminados. Esto es, cuando durante el proceso de
añadido lleguemos al final del vector, comenzaremos a
llenar COLAS CIRCULARES proceso de añadido lleguemos
al final del vector, comenzaremos a llenar de nuevo las
componentes iniciales del mismo si se encuentran
vacías.
Para lograr esto manejaremos el vector como si fuese un
“vector circular”. Esto significa que no consideraremos la
componente MAX del vector como la última del mismo,
sino que consideraremos que la siguiente componente a
ésta es otra vez la primera del vector
La evolución del
mundo está en las
manos del hombre