5.6. Estructuras de datos en Python: colas

Página 20

5.6. Estructuras de datos de Python: colas

La estructura de datos es una forma particular de almacenar y organizar datos en una computadora para que puedan usarse de manera eficiente. En Python, una de las estructuras de datos más utilizadas es la cola. La cola es una estructura de datos lineal que sigue el orden de operación FIFO (First In First Out), lo que significa que el primer elemento insertado en la cola será el primero en ser eliminado.

Implementando colas en Python

En Python, las colas se pueden implementar de muchas maneras, como listas, colecciones.deque y la clase queue.Queue del módulo de cola.

1. Colas usando listas

La forma más sencilla de implementar una cola en Python es utilizando una lista. Sin embargo, las listas no son eficaces para este fin. Si bien las listas append y pop() son rápidas, insertar o eliminar elementos desde el principio de una lista es lento (porque todos los demás elementos deben desplazarse).

# Creando una cola
cola = []

# Agregar elementos a la cola
cola.append('a')
cola.append('b')
cola.append('c')

print("Cola inicial", cola)

# Eliminando elementos de la cola
print("\nElementos fuera de cola")
imprimir(cola.pop(0))
imprimir(cola.pop(0))

print("\nCola después de eliminar elementos", cola)

2. Colas usando collections.deque

Las colas en Python se pueden implementar de forma más eficiente utilizando la clase collections.deque, que está diseñada para realizar adiciones y eliminaciones rápidas desde ambos extremos.

de colecciones importar deque

# Creando una cola
q = deque()

# Agregar elementos a la cola
q.append('a')
q.append('b')
q.append('c')

print("Cola inicial", q)

# Eliminando elementos de la cola
print("\nElementos fuera de cola")
imprimir(q.popleft())
imprimir(q.popleft())

print("\nCola después de eliminar elementos", q)

3. Colas usando queue.Queue

La clase Queue del módulo de cola es especialmente útil en programación multiproceso, donde se manipulan objetos Python, que normalmente no son seguros para subprocesos. La clase Queue es segura para subprocesos y se puede utilizar para intercambiar datos entre varios subprocesos.

desde la cola de importación de cola

# Creando una cola
q = cola()

# Agregar elementos a la cola
q.poner('a')
q.poner('b')
q.poner('c')

print("Cola inicial", q)

# Eliminando elementos de la cola
print("\nElementos fuera de cola")
imprimir(q.get())
imprimir(q.get())

print("\nCola después de eliminar elementos", q)

En resumen, las colas son una herramienta útil en Python para almacenar y manipular datos de una manera organizada y eficiente. La elección de la implementación depende de las necesidades específicas de su programa, pero es importante comprender cómo funciona cada uno para tomar la mejor decisión.

Ahora responde el ejercicio sobre el contenido:

¿Qué estructura de datos en Python sigue el orden de operación FIFO (primero en entrar, primero en salir)?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

215.7. Estructuras de datos en Python: árboles

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.