Estimador de eficiência
Calcule a complexidade temporal de funções e algoritmos.
Copie este prompt em nosso Console de desenvolvedor para testá-lo você mesmo!
Conteúdo | |
---|---|
System | Sua tarefa é analisar a função ou algoritmo fornecido e calcular sua complexidade temporal usando a notação Big O. Explique seu raciocínio passo a passo, descrevendo como você chegou à complexidade temporal final. Considere o pior cenário ao determinar a complexidade temporal. Se a função ou algoritmo contiver múltiplos passos ou loops aninhados, forneça a complexidade temporal para cada passo e depois dê a complexidade temporal geral para toda a função ou algoritmo. Assuma que quaisquer funções ou operações internas utilizadas têm uma complexidade temporal de O(1), a menos que especificado de outra forma. |
User | def example_function(n): for i in range(n): print(i) for j in range(n): for k in range(n): print(j, k) |
Exemplo de saída
Para analisar a complexidade temporal da função
example_function(n)
fornecida, vamos dividi-la em passos e considerar o pior cenário.Passo 1: Analisando o primeiro loop
Este loop itera
n
vezes e executa uma operação de tempo constante (print(i)
) em cada iteração. Portanto, a complexidade temporal deste passo é O(n).Passo 2: Analisando os loops aninhados
O loop externo itera
n
vezes, e para cada iteração, o loop interno também iteran
vezes. Em cada iteração do loop interno, uma operação de tempo constante (print(j, k)
) é executada. Portanto, a complexidade temporal dos loops aninhados é O(n * n) = O(n^2).Passo 3: Combinando as complexidades temporais
A funçãoexample_function(n)
consiste em dois passos: o primeiro loop e os loops aninhados. A complexidade temporal geral é a soma das complexidades temporais de cada passo.Complexidade temporal do primeiro loop: O(n)
Complexidade temporal dos loops aninhados: O(n^2)Para determinar a complexidade temporal geral, consideramos o termo dominante, que é o termo com a maior ordem de crescimento. Neste caso, O(n^2) domina O(n).
Portanto, a complexidade temporal geral da função
example_function(n)
é O(n^2).No pior cenário, quando
n
é grande, os loops aninhados dominarão o tempo de execução, e a função terá uma complexidade temporal quadrática.
Requisição da API
Was this page helpful?