Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
Descargar como pptx, pdf o txt
Está en la página 1de 16
LAS COLAS Y SUS
APLICACIONES
Lic. Joaquín Pablo Ríos Arteaga
1 ¿Qué son las colas (QUEUES) en programación? • es una estructura de datos LINEAL que sigue el principio FIFO(First in, First out). Funciona como una fila virtual donde el primer elemento que se añade es el primero en ser eliminado. 2. ¿para que sirven las colas? Imaginemos que tenemos muchos trabajos por hacer en la computadora, y necesitas hacerlos en orden. Una cola ayuda a organizar esos trabajos. La tarea que llega primero va al frente de la cola, y la computadora trabaja en esa tarea. Luego, cuando termina, toma la siguiente tarea de la cola. 3.- características principales de las colas a). FIFO (First in, First out) B). Operaciones Básicas: • Enqueue (encolar): agregar un elemento al final de la cola. • Dequeue (desencolar): eliminar el elemento al frente de la cola. • Front (frente): obtener el elemento al frente de la cola sin eliminarlo. • isEmpty ( está vacía): verificar si la cola esta vacía. • Size (tamaño): obtener el numero de elementos de la cola. 3.- características principales de las colas c). Disciplina FIFO. asegura un orden de procesamiento ordenado y predecible. d). estructura lineal. cada elemento tiene un sucesor y un predecesor, excepto el primero y el ultimo, respectivamente. e) Uso de algoritmos. Las colas son esenciales en algoritmos como la búsqueda en amplitud (BFS), donde se exploran nodos en un grafo en el orden en que fueron descubiertos. f) Aplicaciones Prácticas: se utilizan para manejar datos en función del orden temporal de su llegada. Impresión de documentos o gestión de tareas en sistemas operativos. 4. Ejemplos de usos prácticos de colas en el desarrollo Web • Procesamiento de tareas en segundo plano • Gestión de solicitudes asincrónicas • Notificaciones y mensajería. • Procesamiento de datos en lotes. • Envió de datos a servicios externos. • gestión de trabajos programados. 5 ¿Cuáles son las operaciones básicas de las colas? • 1. Enqueue (encolar) implica agregar un nuevo elemento al final de la cola. • 2. dequeue (desencolar) implica eliminar el elemento que esta al frente de la cola. • 3. front (frente) permite obtener el elemento que esta al frente de la cola, sin eliminarlo. • 4. isEmpty (esta vacía) la operación de verificar si la cola esta vacía devuelve un valor verdadero si no hay elementos en la cola y falso si hay al menos un elemento. • 5. Size (tamaño) devuelve el numero total de elementos presentes en la cola en un momento dado. TIPOS DE COLAS Cola circular: una variante especial de la cola. • Una cola circular es una variante especial de una cola donde el frente y el final estan conectados en una estructura cíclica. Ventajas de las colas circulares • Uso eficiente del espacio: al utilizar una estructura cíclica, se evita la restricción de tener un frente y un final fijo. Las posiciones se pueden reutilizar en el arreglo o nodo de una lista enlazada. • Implementación simple: el índice que sigue al ultimo elemento de la cola circular se vuelve a colocar en el principio, formando así un ciclo . Operaciones en colas circulares • Encolar • Desencolar • Frente • Esta vacía • tamaño Colas de prioridad: Permiten la asignación de prioridades a los elementos, de modo que los elementos con mayor prioridad se atienden antes que los de menor prioridad. • Prioridad asignada a cada elemento. • Elementos con mayor prioridad se procesan antes. • Implementación. Operaciones en colas de prioridad • Encolar se agrega un elemento a la cola de prioridad junto con su prioridad asignada • Desencolar se retira y procesa el elemento con mayor prioridad • Frente: se obtiene el elemento con la mayor prioridad sin eliminarlo. • Esta vacía se verifica si la cola de prioridad esta vacía. • Tamaño se obtiene el numero de elementos presentes en la cola de prioridad. Colas de doble extremo (deques) • Son estructuras de datos que extienden las funcionalidades de una cola al permitir la inserción y eliminación de elementos tanto al frente como al final de la cola Características principales • Inserción y eliminación en ambos extremos. Te permite añadir y quitar elementos tanto al frente como al final de la cola • Operaciones adicionales . Además de las 5 operaciones básicas de las colas, te permite incluir operaciones como: push_front (insertar al frente) y pop_back (eliminar desde el final). • Implementación. Implementarlo usando arrays o listas enlazadas. Otros tipos de colas • Cola con retardo (delay queue) • Cola de bloqueo (bloking queue) • Cola de búfer (buffer queue) • Cola de mensajes (message queue)