Dois aspectos importantes: um problema pode, geralmente, ser resolvido por diferentes algoritmos; a existência de um algoritmo não implica, necessariamente, que este problema possa ser resolvido na prática. A análise de algoritmos pode ser definida como o estudo da estimativa de tempo de execução de algoritmos. Considerando a complexidade de algoritmos, assinale a alternativa que mais representa o melhor caso e o pior caso quando associada à complexidade de algoritmos.

Questão

Dois aspectos importantes: um problema pode, geralmente, ser resolvido por diferentes algoritmos; a existência de um algoritmo não implica, necessariamente, que este problema possa ser resolvido na prática. A análise de algoritmos pode ser definida como o estudo da estimativa de tempo de execução de algoritmos.

Considerando a complexidade de algoritmos, assinale a alternativa que mais representa o melhor caso e o pior caso quando associada à complexidade de algoritmos.

Alternativas

Melhor caso O(n log n), pior caso O(R* log n)

Melhor caso O n^3 , pior caso O n^2

Melhor caso O(n log n), pior caso O(log n)

Melhor caso O n^2 , pior caso O n^2

92%

Melhor caso O (n^2 * n^3) , pior caso O( n^2 )

Explicação

Em análise de complexidade, melhor caso é o menor tempo (ordem de crescimento) que um algoritmo pode levar para uma entrada de tamanho nn, e pior caso é o maior tempo que ele pode levar para alguma entrada de tamanho nn.

Assim, para um mesmo algoritmo, é possível que melhor e pior caso sejam diferentes (por exemplo, melhor O(n)O(n) e pior O(n2)O(n^2)), ou que sejam iguais quando o comportamento do algoritmo independe da ordem/forma da entrada (ou quando o algoritmo sempre executa essencialmente a mesma quantidade de passos).

Analisando as alternativas:

  • (A) usa O(R\*logn)O(R\*\log n) no “pior caso”, mas R não é um parâmetro padrão do tamanho da entrada (fica incoerente para comparação direta com melhor caso em função de nn).
  • (B) diz melhor O(n3)O(n^3) e pior O(n2)O(n^2): impossível, pois o melhor caso não pode ser assintoticamente maior que o pior caso.
  • (C) diz melhor O(nlogn)O(n\log n) e pior O(logn)O(\log n): também impossível pelo mesmo motivo.
  • (E) melhor O(n2\*n3)=O(n5)O(n^2\*n^3)=O(n^5) e pior O(n2)O(n^2): novamente impossível.
  • (D) melhor O(n2)O(n^2) e pior O(n2)O(n^2): é consistente (há algoritmos cujo melhor e pior caso têm a mesma ordem, por exemplo, certos algoritmos de ordenação como selection sort/insertion sort em algumas variações, ou algoritmos com laços sempre completos).

Logo, a alternativa que melhor representa uma associação correta entre melhor e pior caso (sem violar a relação melhor \le pior) é a que coloca ambos como O(n2)O(n^2).

Alternativa correta: (D).

Travou em outra questão? A gente resolve.

Crie sua conta grátis e resolva 3 questões por dia com explicação passo a passo, por texto ou foto.

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.