Coloque F (falso) ou V (verdadeiro) nas funções abaixo, con...

Próximas questões
Com base no mesmo assunto
Q1759874 Algoritmos e Estrutura de Dados

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)

Alternativas

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

================================

- 9 + log n = 0(n) => CERTO

f= 255 = 0(1) => CERTO

= 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