# Fila de Prioridade (Priority Queue)

Na ciência da computação, uma **fila de prioridade** é um tipo de dados
abastrato que é como uma fila regular (regular queue) ou estrutura de
dados de pilha (stack), mas adicionalmente cada elemento possui uma
"prioridade" associada.

Em uma fila de prioridade, um elemento com uma prioridade alta é servido
antes de um elemento com baixa prioridade. Caso dois elementos posusam a
mesma prioridade, eles serão servidos de acordo com sua ordem na fila.

Enquanto as filas de prioridade são frequentemente implementadas com
pilhas (heaps), elas são conceitualmente distintas das pilhas (heaps).
A fila de prioridade é um conceito abstrato como uma "lista" (list) ou
um "mapa" (map); assim como uma lista pode ser implementada com uma
lista encadeada (liked list) ou um array, a fila de prioridade pode ser
implementada com uma pilha (heap) ou com uima variedade de outros métodos,
como um array não ordenado (unordered array).

## Referências

- [Wikipedia](https://en.wikipedia.org/wiki/Priority_queue)
- [YouTube](https://www.youtube.com/watch?v=wptevk0bshY&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8&index=6)
