Logo Passei Direto
Buscar
Qual e a complexidade de tempo tipica do algoritmo de Dijkstra implementado com uma fila de prioridade usando um heap binario?
a) O(V^2)
b) O(E+VlogV)
c) O(V+E^2)
d) O(logV)
User badge image
Desafios Para o Conhecimento

há 8 meses

Respostas

User badge image

Ed Verified user icon

há 8 meses

Para determinar a complexidade de tempo do algoritmo de Dijkstra quando implementado com uma fila de prioridade usando um heap binário, vamos analisar as opções. O algoritmo de Dijkstra, ao usar um heap binário, realiza as seguintes operações principais: 1. Extração do mínimo: Esta operação tem complexidade O(log V) para cada vértice. 2. Relaxamento das arestas: Para cada aresta, o relaxamento pode ser feito em O(log V) também, já que pode envolver a atualização da prioridade no heap. Assim, a complexidade total do algoritmo de Dijkstra, considerando que temos V vértices e E arestas, é dada por: - O número de extrações do mínimo é V, cada uma custando O(log V). - O número de relaxamentos é E, cada um também custando O(log V). Portanto, a complexidade total é O((V + E) log V). Analisando as alternativas: a) O(V^2) - Não é correta para a implementação com heap. b) O(E + V log V) - Esta é a complexidade correta. c) O(V + E^2) - Não é correta. d) O(log V) - Esta é apenas a complexidade de uma operação, não do algoritmo completo. A alternativa correta é: b) O(E + V log V).

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina