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).