Estrutura de Dados
  • Programação e Estrutura de Dados
  • Estrutura de Dados
    • 1. Vetores e Matrizes
      • Vetores
      • Matrizes
      • Listas de Exercícios
    • 2. Listas Lineares
      • Lista Encadeada Simples
      • Lista Duplamente Encadeada
    • 3. Pilhas
      • Visão Geral
      • Operações
        • Criação de Pilhas
        • Inserção de elementos
        • Remoção de elementos
        • Impressão, topo e tamanho da pilha
      • Exemplo
    • 4. Filas
      • Visão Geral
      • Operações
        • Criação das Filas
        • Inserção de Elementos
        • Remoção de Elementos
        • Impressão, inicio e final da fila
      • Exemplo
    • 5. Recursividade
      • Visão geral
      • Exemplos
        • Execução do Algoritmo de Fibonacci Recursivo
    • 6. Algoritmos de Busca
      • Busca Sequencial
      • Busca Binária
      • Exemplos
    • 7. Algoritmos de Ordenação
      • Ordenação
      • Bubble Sort
      • Selection Sort
      • Insertion Sort
      • Merge Sort
      • Quicksort
    • 8. Árvores
      • Introdução
      • Árvores Binárias
      • Árvores Binárias de Busca
      • Árvores AVL
    • 9. Indexação e Hashing
    • 10. Grafos
  • Programação Orientada a Objetos
    • 1. Introdução a Orientação a Objetos
Powered by GitBook
On this page

Was this helpful?

  1. Estrutura de Dados
  2. 4. Filas

Visão Geral

Estrutura de Dados: Fila

Previous4. FilasNextOperações

Last updated 4 years ago

Was this helpful?

Existem algumas bibliotecas prontas que podemos usar para implementar filas, mas faremos isso de maneira manual para entender seu comportamentos (se ficarem curiosos, olhem ).

Filas são estruturas de dados em que só é possível inserir um novo elemento no final da fila e só é possível remover um elemento do início. Dizemos que filas seguem um protocolo em que o primeiro a entrar é o primeiro a sair (FIFO - First In First Out).

Em uma fila, para que o primeiro elemento a entrar (ser inserido) seja o primeiro a sair (ser removido), precisamos ser capazes de:

  1. Inserir um novo elemento no final da fila.

  2. Remover um elemento do início da fila.

Costumamos dizer que os elementos entram em uma fila na parte de trás e são removidos pela frente.

Uma metáfora para essa terminologia é uma fila de pessoas esperando para comprar um ingresso para o cinema. As pessoas que também querem devem esperar no final da fila a sua vez e quem está na no início da fila será o primeiro a ser atendido na bilheteria do cinema.

Existem muitas outras aplicações de filas. Lojas, teatros, centros de reserva e outros serviços semelhantes que normalmente processam solicitações de clientes de acordo com o princípio FIFO. Uma fila, portanto, seria uma escolha lógica para uma estrutura de dados para lidar com chamadas para um centro de atendimento ao cliente ou uma lista de espera em um restaurante. Filas FIFO também são usadas por muitos dispositivos de computação, como uma impressora em rede ou um servidor da Web respondendo a solicitações.

https://docs.python.org/3/library/queue.html
Exemplo de uma fila