estructura de datos : cola
TRANSCRIPT
Estructura de Datos: Cola
www.slideshare.net/emergar
www.youtube.com/emergaray
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. Extraído de: https://es.wikipedia.org/wiki/Cola_(inform%C3%A1tica)
Cola: Concepto
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Para el manejo de los datos cuenta con dos operaciones básicas: adicionar (add), que coloca un objeto al final de la cola, y su operación inversa, retirar o sacar (poll), que retira el primer elemento de la fila. En cada momento sólo se tiene acceso al primer elemento de la fila, es decir, al primer objeto. Extraído de: https://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica)
Cola: Funcionamiento
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Colas 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 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. https://es.wikipedia.org/wiki/Cola_circular
Cola: Tipos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola Simple: estructura lineal donde los elementos salen en el mismo orden en que entran.
Cola: Tipos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola Doble o Bicola: son colas en donde los elementos se pueden añadir y quitar por ambos extremos; se les llama DEQUE (Double Ended QUEue). Para representar las bicolas lo podemos hacer con un array circular con Inicio y Fin que apunten a cada uno de los extremos.
Cola de prioridad: En ellas, los elementos se atienden en el orden indicado por una prioridad asociada a cada uno, sin importar el orden en que se agreguen. Si varios elementos tienen la misma prioridad, se atenderán de modo convencional según la posición que ocupen. La prioridad es algún dato de los elementos que permita Ordenarlos.
Cola: Historia
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
• Cola de los clientes en los bancos y cajeros automáticos
• Cola de programas en espera de ser ejecutados por una computadora
Cola: Usos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola Vacía
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola Vacía
add
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 1 elemento
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 1 elemento
add
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 2 elementos
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 2 elementos
add
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 3 elementos
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 3 elementos
add
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 4 elementos
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 4 elementos
add
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 5 elementos
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 5 elementos
poll
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 4 elementos
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 4 elementos
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 4 elementos
add
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 5 elementos
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 5 elementos
add
Cola: Ejemplo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 6 elementos
• Crear (constructor): crea la cola vacía. • Tamaño (size): regresa el número de elementos de la
cola. • Adicionar (add u offer): añade un elemento a la cola. • Retirar (poll o remove): lee y retira el primer elemento
de la cola. • Leer primero (peek): lee el primer elemento de la cola
sin retirarlo. • Vacía (isEmpty): devuelve cierto si la cola está sin
elementos o falso en caso de que contenga alguno.
Extraído de: https://es.wikipedia.org/wiki/Cola_(inform%C3%A1tica)
Cola: Operaciones
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola: Operaciones
Descripción Operación Argumentos Retorno
Adicionar add Object boolean
Retirar el primero poll Ninguno Object
Leer el primero peek Ninguno Object
Verificar si esta vacía isEmpty Ninguno boolean
Cantidad elementos size Ninguno int
Estas Operaciones se implementaran usando la clase LinkedList del paquete java.util
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola: Crear
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
LinkedList c = new LinkedList();
Crear (constructor): crea una cola vacía.
Cola Vacía
Cola: Tamaño
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
int n = c.size(); n = 0
Tamaño (size): regresa el número de elementos de la cola.
Cola Vacía
Cola: Adicionar
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
int j = 92; Integer dato = new Integer(j); c.add(dato);
Apilar (add u offer): añade un elemento a la cola.
Cola c
92
Cola: Leer primero
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
int x; Integer dato = (Integer)c.peek(); x = dato.intValue();
x = 92
Leer primero (peek): lee el elemento inicial de la cola sin retirarlo.
Cola c
92
45
65
Cola: Tamaño
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
int n = c.size(); n = 3
Tamaño (size): regresa el número de elementos de la cola.
Cola Vacía
92
45
65
Cola: Sacar primero
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
int x; Integer dato = (Integer)c.poll(); x = dato.intValue();
x = 92
Leer primero (poll o remove): lee el elemento inicial de la cola y lo retira.
Cola c
92
45
65
• Implementación con un Vector
• Implementación sobre una Lista
Cola: Implementaciones
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
• Imprimir una cola • Hacer la copia de una cola • Invertir una cola • Verificar si esta un elemento • Verificar si son iguales dos colas • Verificar si esta Ordenada {Ascendente, Descendente} • Sumar los valores de dos colas de números enteros
• Simulación de colas en supermercados o cajeros automáticos
• Lista de solicitudes que se atienden en una organización
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola: Ejemplos
Cola
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Cola con 6 elementos
Taller de Ejercicios
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez