Fila de prioridades

Uma fila de prioridades (= priority queue) é qualquer tipo-de-dados abstrato dotado de duas operações:

É fácil implementar a fila de prioridades de modo que uma dessas operações seja rápida.  É mais difícil inventar uma implementação em que ambas as operações são rápidas.

A definição acima é a de uma fila de prioridades de máximo. Não é difícil adaptar essa definição para filas de prioridades de mínimo.