Como calcular a complexidade do tempo [duplicado]
Sep 22 2020
qualquer um pode ajudar a explicar porque esta função
F (n) = F (n / 3) + 1 com F (0) = 0
Pode ter complexidade de tempo de O (Log n) com log de base 3.
Existe uma notação matemática ou qualquer coisa que possa ajudar a me explicar como obter o resultado. obrigado
Respostas
2 OmG Sep 22 2020 at 10:07
Por substituição, pode ser feito simplesmente:
F(n) = F(n/3) + 1 = F(n/3^2) + 1 + 1 = 1 + 1 + ... + 1 (log_3(n) times)
À medida que cada vez né dividido por 3e 1é adicionado ao resultado, se supusermos n = 3^k, F(n) = k. Portanto F(n) = O(log(n)),. A constante (> 1) na base do logaritmo não tem impacto na ordem de complexidade, ou seja, log_a(n) = Theta(log_b(n))( a,b > 1).
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?