Filas
Filas em Algoritmos e Estruturas de Dados
Filas são estruturas de dados lineares que seguem o princípio FIFO (First In, First Out), ou seja, o primeiro elemento inserido é o primeiro a ser removido.
Operações Básicas
- Enfileirar (enqueue): Insere um elemento no final da fila.
- Desenfileirar (dequeue): Remove o elemento do início da fila.
- Frente (front/peek): Retorna o elemento do início sem removê-lo.
- Vazia (isEmpty): Verifica se a fila está vazia.
Implementações Comuns
- Com vetores/arrays: Uso de índices para controle de início e fim.
- Com listas encadeadas: Nós dinâmicos com ponteiros para o próximo elemento.
Aplicações em Concursos
- Gerenciamento de processos em sistemas operacionais.
- Atendimento de requisições (impressão, servidores).
- Algoritmos como BFS (Busca em Largura).
Variações Importantes
- Fila Circular: Evita desperdício de espaço em implementações com arrays.
- Fila de Prioridade: Elementos são ordenados por prioridade (usa heap).
Dicas para Concursos
- Entenda o comportamento FIFO e suas exceções (ex: filas de prioridade).
- Domine complexidades das operações: O(1) para enfileirar/desenfileir em implementações eficientes.
- Pratique implementações em pseudocódigo e linguagens como C ou Java.