Questão 24 Comentada - Comissão de Valores Mobiliários (CVM) - Analista CVM - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde - FGV (2024)

O cálculo da complexidade computacional é essencial para verificar a viabilidade do algoritmo. Observe o código a seguir, em Python, para o problema da torre de Hanoi.

def hanoi(n, o, d, a):
if n==1:
print("D1 de "+o+" p/ "+d)
else:
hanoi(n-1, o, a, d)
print("D"+str(n)+" de "+o+" p/ "+d)
hanoi(n-1, a, d, o)

A complexidade desse algoritmo no pior caso é:

  • A O(2n );
  • B O(n);
  • C O(n log n);
  • D O(n2 );
  • E O(log n).

Gabarito comentado da Questão 24 - Comissão de Valores Mobiliários (CVM) - Analista CVM - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde - FGV (2024)

A alternativa correta é A - O(2n) Vamos analisar a complexidade do problema da Torre de Hanoi. O cálculo da complexidade computacional avalia a eficiência de um algoritmo. A Torre de Hanoi é um problema clássico de recursão. O algoritmo fornecido é um exemplo típico de solução recursiva em Python: def hanoi(n, o, d, a): if n == 1: print("D1 de " + o + " p/ " + d) else: hanoi(n-1, o, a, d) print("D" + str(n) + " de " + o + " p/ " + d) hanoi(n-1, a, d, o) A função hanoi é chamada recursivamente...

Somente usuários Premium podem acessar aos comentários dos nossos especialistas...

Que tal assinar um dos nossos planos e ter acesso ilimitado a todas as resoluções de questões e ainda resolver a todas as questões de forma ilimitada?

São milhares de questões resolvidas!

Assine qualquer plano e tenha acesso a todas as vantagens de ser Premium