Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Cola
1. Algorithms and Data Structures - Phyton
QUEUES
Oliver Martínez
N.E. 200.90.5607
INF-211
2. Queues
Que es Queue o Cola?
La cola es una colección ordenada de ítems donde cada
uno de ellos es espera su turno a salir cuando el primero
que entró haya salido.
El ítem más reciente en entrar a la colección es el último en
salir. El principio de esto es conocido como FIFO First in
First Out(El primero en entrar, el primero en salir).
3. Queues
Una de las mejores formas de ejemplificar la cola es la fila
que hacemos para ir al cine, al banco o al apagar en un
super mercado. Siendo nosotros el ítem en esa fila en esa
colección donde el primero que llego hacer la fila será el
primero en salir mientras el más reciente que haya llegado
a la fila será el último en salir. Ver la siguiente imagen.
4. Queues
Así mismo también podemos poner este ejemplo a una red
de 10 computadoras donde todas quieren imprimir en una
sola impresora. La primera tarea de la computadora x será
la primera en ser procesada, en ser completada. Las otras
tareas enviadas por las otras computadoras tendrán que
esperar a que sus tareas solicitadas para imprimir sean
atendidas en orden de llegada.
5. Queues
Veamos un ejemplo
implementado en Python.
Entramos a la colección de ítems
3 valores. Primeramente
validamos que nuestra colección
esté vacía. En primer lugar
entramos “casa”, en segundo
lugar entramos “carro” y tercer
lugar entramos “188”. Validamos
que nuestra colección ya tenga
los 3 valores y que no esté vacía
la colección.
6. Queues
Como hemos explicado
anteriormente en la cola el
primero que entra es el primero
que sale. “casa” entró primero,
después “carro” y finalmente
“188”. El más reciente, “188”,
será el último en salir.
Verificamos que la colección
quede vacía después de que
todos los ítems salgan. Veamos
el ejemplo.
7. Queues
Habíamos hablado de uno de los ejemplos de la cola era
un tarea de impresión. Veamos la siguiente situación donde
estudiantes están constantemente enviado a imprimir a una
sola impresora desde 10 estaciones, desde 10
computadoras.
8. Queues
Los estudiantes estarán enviando a imprimir de 1 a 20
páginas y si cada estudiante imprimirá dos veces serán 20
tareas que tendrá que resolver la impresora por hora. El
promedio para resolver una tarea sería de 180 segundos.
(20 tareas/1 hora) X (1 hora/60 minutos) X (1 minuto/60
segundos) = 1 tarea / 180 segundos
9. Queues
Veamos un ejemplo de simulación para las tareas enviadas a la
impresora de los estudiantes de los que hemos hablado.
Primeramente tendremos la clase Printer que trabajará con el
estado de la tarea al momento, si esta ocupada o imprimiendo,
y el manejo de las páginas por minutos que la impresora puede
manejar.
También se necesita una clase Task que manejará el tiempo. El
tiempo en el que la tarea es enviada y el lugar donde estará en
la cola y el tiempo que esperará en la tarea que está en la cola
empiece a imprimirse.
10. Queues
Finalmente necesitamos la simulación donde de manera
aleatoria donde las tareas de impresión llegan cada 180
segundos creando un nueva tarea de impresión de un
rango de 1 a 20 páginas.
Probaremos esta simulación en varios escenarios. La
simulación nos pedirá dos valores:
1. Segundos
2. Páginas por minuto
11. Queues
Corremos la simulación 10
veces con 3,600 segundos
(60 minutos o una hora) y la
impresora imprimirá 5
páginas por minuto. Vemos
que el promedio del tiempo
de espera es 33.36, el
mínimo tiempo es 25.50 y el
máximo tiempo es 308.05,
las tareas completadas
fueron 5.
12. Queues
Corremos la segunda
simulación 10 veces con
3,600 segundos (60 minutos o
una hora) y la impresora
imprimirá 2 páginas por
minuto o sea un impresora
más lenta. Vemos que el
promedio del tiempo de
espera es 127.77, el mínimo
tiempo es 456.33 y el máximo
tiempo es 1461.10, las tareas
completadas fueron 0.