Imagem do artigo Estruturas de dados em Python: Filas

5.6. Estruturas de dados em Python: Filas

Página 20 | Ouça em áudio

5.6. Estruturas de dados em Python: Filas

A estrutura de dados é uma maneira particular de armazenar e organizar dados em um computador para que possam ser usados ​​de maneira eficiente. Em Python, uma das estruturas de dados mais usadas é a fila. A fila é uma estrutura de dados linear que segue a ordem de operação FIFO (First In First Out), o que significa que o primeiro elemento inserido na fila será o primeiro a ser removido.

Implementação de filas em Python

Em Python, a implementação de filas pode ser feita de várias maneiras, como listas, coleções.deque e a classe queue.Queue do módulo queue.

1. Filas usando listas

A maneira mais simples de implementar uma fila em Python é usando uma lista. No entanto, as listas não são eficientes para esse propósito. Embora as listas de apêndice e pop() sejam rápidas, inserir ou remover elementos do início de uma lista é lento (porque todos os outros elementos têm que ser deslocados).

# Criando uma fila
queue = []

# Adicionando elementos à fila
queue.append('a')
queue.append('b')
queue.append('c')

print("Fila inicial", queue)

# Removendo elementos da fila
print("\nElementos desenfileirados")
print(queue.pop(0))
print(queue.pop(0))

print("\nFila após remover elementos", queue)

2. Filas usando collections.deque

As filas em Python podem ser implementadas de maneira mais eficiente usando a classe collections.deque, que foi projetada para ter adições rápidas e remoções de ambos os extremos.

from collections import deque

# Criando uma fila
q = deque()

# Adicionando elementos à fila
q.append('a')
q.append('b')
q.append('c')

print("Fila inicial", q)

# Removendo elementos da fila
print("\nElementos desenfileirados")
print(q.popleft())
print(q.popleft())

print("\nFila após remover elementos", q)

3. Filas usando queue.Queue

A classe Queue do módulo queue é especialmente útil em programação multithread, onde os objetos Python, que normalmente não são seguros para threads, são manipulados. A classe Queue é segura para threads e pode ser usada para trocar dados entre vários threads.

from queue import Queue

# Criando uma fila
q = Queue()

# Adicionando elementos à fila
q.put('a')
q.put('b')
q.put('c')

print("Fila inicial", q)

# Removendo elementos da fila
print("\nElementos desenfileirados")
print(q.get())
print(q.get())

print("\nFila após remover elementos", q)

Em resumo, as filas são uma ferramenta útil em Python para armazenar e manipular dados de maneira organizada e eficiente. A escolha da implementação depende das necessidades específicas do seu programa, mas é importante entender como cada uma funciona para fazer a melhor escolha.

Agora responda o exercício sobre o conteúdo:

Qual estrutura de dados em Python segue a ordem de operação FIFO (First In First Out)?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Estruturas de dados em Python: Árvores

Próxima página do Ebook Gratuito:

21Estruturas de dados em Python: Árvores

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto