Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Recibe un parámetro
size que representa el tamaño máximo de la cola circular. Crea una lista de None con la
longitud especificada por size para almacenar los elementos de la cola. También
establece los atributos head y tail en 0, lo que indica que la cola está vacía y no tiene
elementos.
2. is_empty(self): Este método verifica si la cola circular está vacía. Devuelve True si head
es igual a tail y el elemento en head es None, lo que indica que la cola está vacía. De lo
contrario, devuelve False.
3. is_full(self): Este método verifica si la cola circular está llena. Devuelve True si head es
igual a tail y el elemento en head no es None, lo que indica que la cola está llena. De lo
contrario, devuelve False.
4. enqueue(self, item): Este método agrega un elemento item al final de la cola circular.
Primero verifica si la cola está llena llamando al método is_full(). Si la cola está llena,
no se puede agregar más elementos y el método devuelve False. Si la cola no está
llena, el elemento se agrega en la posición tail de la lista items. Luego, se actualiza tail
usando la operación de módulo % para asegurarse de que tail permanezca dentro del
rango válido. Finalmente, el método devuelve True para indicar que se realizó la
operación de encolar con éxito.
En resumen, la clase CircularQueue implementa una cola circular de tamaño fijo utilizando una
lista y dos punteros (head y tail). Los métodos is_empty(), is_full(), enqueue(item) y
dequeue() permiten verificar el estado de la cola y realizar operaciones de encolar y desencolar
elementos.
EJERCICIO 2
1. __init__(self): Este es el método de inicialización de la clase. Crea una lista vacía items
que se utilizará para almacenar los elementos de la cola doble.
2. is_empty(self): Este método verifica si la cola doble está vacía. Devuelve True si la
longitud de la lista items es igual a 0, lo que indica que no hay elementos en la cola. De
lo contrario, devuelve False.
7. size(self): Este método devuelve el tamaño actual de la cola doble, es decir, la cantidad
de elementos en la lista items.
En resumen, la clase ColaDoble implementa una cola doble utilizando una lista. Los métodos
is_empty(), enqueue_front(item), enqueue_rear(item), dequeue_front(), dequeue_rear() y
size() permiten verificar el estado de la cola y realizar operaciones de encolar y desencolar
elementos desde el frente y la parte trasera de la cola.
EJERCICIO 3
2. is_empty(self): Este método verifica si la cola de eventos está vacía. Devuelve True si la
longitud de la lista events es igual a 0, lo que indica que no hay eventos en la cola. De
lo contrario, devuelve False.
En resumen, la clase EventQueue implementa una cola de eventos utilizando una lista. Los
métodos is_empty(), enqueue(event) y dequeue() permiten verificar el estado de la cola y
realizar operaciones de encolar y desencolar eventos en un orden específico.
EJERCICIO 4
2. is_empty(self): Este método verifica si todas las colas están vacías. Utiliza la función
all() junto con una comprensión de lista para verificar si todas las sublistas en queues
tienen una longitud de 0. Devuelve True si todas las colas están vacías, de lo contrario,
devuelve False.
3. enqueue(self, item, queue_num): Este método agrega un elemento item a una cola
específica identificada por queue_num. Accede a la cola correspondiente en la lista
queues utilizando queue_num como índice y luego utiliza el método append() para
agregar el elemento al final de la cola.