Uma fila é uma estrutura de dados linear que segue a política de "primeiro a entrar, primeiro a sair"
(FIFO - First-In, First-Out). Isso significa que o elemento que entra primeiro na fila é o primeiro a sair.
Características
Estrutura linear: Os elementos da fila são organizados em uma sequência linear.
Inserção no final: Novos elementos são adicionados ao final da fila.
Remoção do início: Os elementos são removidos do início da fila.
Ordem de chegada: A ordem de chegada dos elementos é preservada.
Único ponto de entrada/saída: A fila possui um ponto de entrada, onde os elementos são inseridos, e
um ponto de saída, onde os elementos são removidos.
Operações básicas:
Enfileirar (enqueue): Adiciona um elemento ao final da fila.
Desenfileirar (dequeue): Remove o elemento do início da fila.
Tamanho (size): Retorna o número de elementos presentes na fila.
Vazia (isEmpty): Verifica se a fila está vazia.
Primeiro elemento (front): Retorna o elemento no início da fila, sem removê-lo.
Aplicações
Processamento de tarefas em ordem
Filas são úteis quando é necessário processar tarefas em uma ordem específica, como processamento
de tarefas em um sistema operacional.
Simulação de eventos
Filas podem ser usadas para simular eventos que ocorrem em uma sequência específica, como
chegada e atendimento em uma fila de atendimento ao cliente.
Algoritmos de busca
Alguns algoritmos de busca, como o algoritmo de busca em largura (BFS), usam filas para explorar nós
em uma determinada ordem.
Lembretes
Uma fila vazia não possui elementos para serem removidos.
A complexidade das operações de enfileirar e desenfileirar em uma fila é geralmente O(1).