Test sobre Cola (queue)

Cola (Queue): Guía Completa para Estudiantes en Español

Pregunta 1 de 50%

Una de las implementaciones más eficientes para una cola con capacidad fija se logra al utilizar un arreglo lineal que desplaza los elementos al desencolar.

Test: Colas de Datos, Implementación de Colas Circulares, Aplicaciones Prácticas de las Colas

20 preguntas

Pregunta 1: Una de las implementaciones más eficientes para una cola con capacidad fija se logra al utilizar un arreglo lineal que desplaza los elementos al desencolar.

A. Sí

B. No

Explicación: La implementación de una cola utilizando un arreglo lineal y desplazando los elementos al desencolar es considerada ineficiente y degrada el rendimiento, especialmente con un gran número de elementos. Los materiales indican que el arreglo circular o las listas enlazadas son implementaciones preferibles para la eficiencia.

Pregunta 2: ¿Cuál de las siguientes afirmaciones describe un uso adecuado de las colas de datos, según el material de estudio?

A. Gestionar procesos, tareas de entrada/salida y la planificación de la CPU en sistemas operativos.

B. Almacenar temporalmente datos que se producen a una velocidad diferente a la que se consumen, como en la transmisión de datos en redes o en sistemas de audio/video.

C. Almacenar elementos de forma que el último en entrar sea el primero en salir (LIFO), como en la función 'deshacer'.

D. Almacenar y procesar eventos en el orden cronológico de su ocurrencia en simulaciones.

Explicación: Las colas se utilizan en sistemas operativos para gestionar procesos y la planificación de la CPU. También son empleadas como buffers de datos para almacenar temporalmente información que se produce a diferentes velocidades. Finalmente, son esenciales en simulaciones para almacenar y procesar eventos en el orden cronológico. La opción que menciona el principio LIFO (Último en Entrar, Primero en Salir) describe el funcionamiento de una pila, no de una cola, que sigue el principio FIFO (Primero en Entrar, Primero en Salir).

Pregunta 3: En una implementación de cola circular que utiliza la estrategia de 'dejar un espacio vacío' con una CAPACIDAD de 5, la cola está llena cuando se han añadido 4 elementos y el valor de 'frente' es 1 y 'final' es 4.

A. Sí

B. No

Explicación: Según el ejemplo detallado en los materiales de estudio, en el paso 6, cuando la cola intenta añadir 'E' con 'frente = 1' y 'final = 4', se indica que la cola está llena. Sin embargo, la explicación para la condición de cola llena es incorrecta. La cola estaría llena cuando `(final + 1) % CAPACIDAD` es igual a `frente`. En este caso, `(4 + 1) % 5 = 0`, lo cual no es igual a `frente = 1`. De hecho, con `frente = 1`, `final = 4` y `CAPACIDAD = 5`, solo hay 3 elementos (`B, C, D`), no 4, y aún hay espacio para un elemento más (`E` se añade en el paso 8). Por lo tanto, la afirmación de que la cola está llena con 4 elementos en esta configuración específica (frente=1, final=4) es incorrecta según la regla y el comportamiento subsiguiente del ejemplo que permite añadir 'E'.

Pregunta 4: En una implementación de cola circular que utiliza un contador de elementos, la cola se considera llena si el contador es igual a la CAPACIDAD total.

A. Sí

B. No

Explicación: Según el material de estudio en la sección 'Usar un contador de elementos', se indica que si el contador de elementos es igual a la CAPACIDAD, la cola está llena.

Pregunta 5: Según el ejemplo detallado de cola circular con una `CAPACIDAD = 5` y usando el enfoque de dejar un espacio vacío, ¿cuál es el estado de la cola (arreglo, `frente`, `final` y `elementos`) inmediatamente después de que se intenta realizar la operación `Enqueue(E)` en el paso 6?

A. El estado sería `[ _ , B , C , D , E ]`, con `frente = 1`, `final = 0`, y `elementos = 4`.

B. El estado permanecería `[ _ , B , C , D , _ ]`, con `frente = 1`, `final = 4`, y `elementos = 3`, debido a que la cola está llena.

C. El estado sería `[ E , B , C , D , _ ]`, con `frente = 1`, `final = 0`, y `elementos = 4`.

D. El estado permanecería `[ _ , B , C , D , _ ]`, con `frente = 1`, `final = 4`, y `elementos = 4`, ya que solo `CAPACIDAD - 1` elementos pueden estar presentes.

Explicación: El material de estudio indica que en el paso 6, al intentar `Enqueue(E)`, se detecta la condición de cola llena porque `(final + 1) % 5 = (4 + 1) % 5 = 0`, lo cual es igual a `frente`. Por lo tanto, no se puede añadir el elemento y la cola no cambia. El estado resultante es `[ _ , B , C , D , _ ]`, con `frente = 1`, `final = 4`, y `elementos = 3`.