Universidad Nacional de Ingeniería
Tema: Colas en programación.
Integrantes:
1. Maxwell Hernández.
2. Allan Vásquez.
3. Marisol García.
4. Horacio Lopez.
COLAS
Una cola 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.
Se utilizan en sistemas informáticos, transportes e
investigación (entre otros), dónde los objetos, de
personas o eventos son tomados como datos que se
almacenan y se guardan mediante colas para su
posterior procesamiento. También es llamado estructura
FIFO (del inglés First-In First-Out), debido a que el primer
elemento en entrar será también el primero en salir.
REPRESENTACION
Un elemento se inserta en la cola (parte final) de la
lista y se suprime o elimina por la frente (parte
inicial, cabeza) de la lista. Las aplicaciones utilizan
una cola para almacenar elementos en su orden de
aparición o concurrencia.
OPERACIONES BASICAS
Crear: se crea la cola vacía.
Encolar: (añadir, entrar, insertar): se añade un elemento a
la cola. Se añade al final de esta.
Desencolar: (sacar, salir, eliminar): se elimina el elemento
frontal de la cola, es decir, el primer elemento que entró.
Frente: (consultar, front): se devuelve el elemento frontal
de la cola, es decir, el primer elemento que entró.
EJEMPLO
• Elabore un programa que almacene e
imprima el alfabeto utilizando colas.
APLICACIÓN DE LA COLAS
Esta estructura de datos se usa en muchos sistemas
operativos, por ejemplo en UNIX, para llevar el control
de la ejecución de procesos, proceso en el sistema es
almacenado en una lista y se va recorriendo, dándole
un pequeño tiempo del microprocesador a cada
proceso, durante la fracción de segundo de cada
proceso este asume que tiene el control total del
procesador.
TIPOS DE COLAS
COLA CIRCULAR O ANILLO
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 procesador. Los
elementos pueden, consultarse, añadirse y eliminarse
únicamente desde la cabeza del anillo que es una posición
distinguida.
Esta avanza en el sentido a las aguja del reloj.
En la figura mostrada muestra una cola circular con un
solo dato almacenado. La variable “final” es la posición
en donde se hizo la última inserción. Después que se
ha producido una inserción, final se mueve
circularmente a la derecha.
COLA DE PRIORIDAD
Una cola de prioridades se utiliza para que los elementos se
atiendan en el orden indicado por una prioridad asociada a
cada uno. Si varios elementos tienen la misma prioridad
asociada a cada uno. Si varios elementos tienen la misma
prioridad, se atenderán de modo convencional según la
posición que ocupen. Este tipo especial de colas tienen las
mismas operaciones que las colas, pero con la condición de
que los elementos se atienden en orden de prioridad.
DOBLE COLA (BI COLA)
Es un tipo de cola especial que permite la inserción y
eliminación de elementos de ambos extremos de la cola. Puede
representarse a partir de un vector y dos índices, siendo su
representación más frecuente una lista circular doblemente
enlazada. Todas las operaciones de este tipo de datos tienen
coste constante.
INFORMACION ADICIONAL
En caso de estar vacía (la cola), 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.
Gracias por su atención.