"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Filas prioritárias

Filas prioritárias

Publicado em 30/07/2024
Navegar:638

As filas prioritárias podem ser implementadas usando heaps. Uma fila comum é uma estrutura de dados do tipo primeiro a entrar, primeiro a sair. Os elementos são anexados ao final da fila e removidos do início. Em uma fila de prioridade, os elementos são atribuídos com prioridades. Ao acessar elementos, o elemento com maior prioridade é removido primeiro. Por exemplo, o pronto-socorro de um hospital atribui números prioritários aos pacientes; o paciente com maior prioridade é tratado primeiro.

Uma fila de prioridade pode ser implementada usando um heap, no qual a raiz é o objeto com maior prioridade na fila. Heaps foram introduzidos no Heap Sort. O diagrama de classes para a fila de prioridade é mostrado na Figura abaixo. Sua implementação é dada no código abaixo.

Image description

Image description

O código abaixo dá um exemplo de uso de uma fila prioritária para pacientes. A classe Patient é definida nas linhas 21–38. Quatro pacientes são criados com valores de prioridade associados nas linhas 6–9. A linha 8 cria uma fila de prioridade. Os pacientes são enfileirados nas linhas 12–15. A linha 18 retira um paciente da fila.

Image description

Cindy(prioridade:7) Tim(prioridade:5) John(prioridade:2) Jim(prioridade:1)

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/paulike/priority-queues-ef4?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3