Coloque F (falso) ou V (verdadeiro) nas funções abaixo, con...
Coloque F (falso) ou V (verdadeiro) nas funções abaixo, considerando a notação de complexidade O, e assinale a seguir a opção correta.
( ) f - 9 + log n = 0(n)
( ) f= 255 = 0(1)
( ) f = 37 + 215n = 0(2n)
( ) f=25 + 218+n = 0(2n)
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: B - (V) (V) (F) (V).
Para resolver essa questão, precisamos entender a notação de complexidade Big O, que é usada para classificar algoritmos de acordo com o seu comportamento de crescimento, especialmente em termos de tempo ou espaço, à medida que o tamanho da entrada aumenta.
Vamos analisar cada uma das funções fornecidas:
(1) f - 9 + log(n) = O(n)
Esta afirmação é falsa. A função log(n) cresce muito mais lentamente do que n. Portanto, a complexidade não pode ser O(n).
(2) f = 255 = O(1)
Esta afirmação é verdadeira. O valor constante (255) tem complexidade O(1), pois não depende de n. Independente do tamanho da entrada, a operação é constante.
(3) f = 37 + 215n = O(2n)
Esta afirmação é falsa. A função 215n cresce exponencialmente mais rápido que 2n devido à presença do multiplicador 15. Portanto, não podemos dizer que é O(2n).
(4) f = 25 + 218+n = O(2n)
Esta afirmação é verdadeira. Aqui, a função é equivalente a 2n multiplicada por uma constante (218), o que não altera a classe de complexidade, mantendo-se O(2n).
Ao analisar cada função, verificamos que as afirmações corretas são as correspondentes à alternativa B.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Quando se fala de complexidade utilizando o BIG O, pode-se desprezar constantes aditivos e multiplicativas.
Nesse caso a questão está querendo saber qual é a complexidade de pior caso. Para saber isso é necessário saber quais são as possíveis complexidades e sua ordem.
O(1) = Constante
O(log n) = logarítmica
O(log^2 n) = log quadrática
O(n log n) = n log n
O(n) = linear
O(n^2) = quadrática
O(n^3) = cubica
O(2^n) = exponencial
================================
f - 9 + log n = 0(n) => CERTO
f= 255 = 0(1) => CERTO
f = 37 + 215n = 0(2n) => ERRADO - O(2^15N) possui a maior complexidade que a O(2^n)
f=25 + 218+n = 0(2n) => CERTO
Alternativa: B
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo