🎯 Filas (Computação)
Em poucas palavras
Uma Estruturas de Dados linear que segue a regra FIFO (First In, First Out): o primeiro elemento a entrar é, obrigatoriamente, o primeiro a ser removido. Pense nela como uma fila de banco do mundo real.
📝 Notas e Desenvolvimento
- Princípio Fundamental: O acesso aos dados é restrito. Você só insere no final (tail/rear) e remove do início (head/front).
- Operações Principais:
enqueue(): Adiciona um elemento ao final da fila.dequeue(): Remove o elemento da frente da fila.peek()oufront(): Apenas observa o primeiro elemento sem removê-lo.isEmpty(): Verifica se a fila está vazia.
- Complexidade de Tempo: Em implementações eficientes, tanto a inserção quanto a remoção são .
Tipos Comuns de Filas:
- Fila Simples: A forma padrão (FIFO).
- Fila Circular: O último elemento se conecta ao primeiro, otimizando o uso de memória em arrays fixos.
- Fila de Prioridade (Priority Queue): Cada elemento tem um “peso”. Elementos com maior prioridade saem antes, independentemente da ordem de chegada.
- Deque (Double-Ended Queue): Permite inserção e remoção em ambas as extremidades.
🔗 Conexões e Contexto
- Atlas: MdC - Programação
- Notas Relacionadas:
- Sistemas Operacionais: Escalonamento de processos (CPU scheduling) e gerenciamento de IO (filas de impressão).
- Redes: Buffers de pacotes em roteadores para gerenciar tráfego.
- Algoritmos: É a estrutura base para a Busca em Largura (BFS) em grafos.
- Mensageria: Sistemas como RabbitMQ ou Apache Kafka utilizam o conceito de filas para comunicação assíncrona entre serviços.