Claro! Segue abaixo o código em Python para implementar os dois algoritmos e medir o tempo de execução: ```python import random import time # Algoritmo 1: complexidade O(n^2) def algoritmo1(n): soma = 0 for i in range(n): for j in range(n): aleatorio = random.randint(1, 1000) soma += aleatorio return soma # Algoritmo 2: complexidade O(n^3) def algoritmo2(n): soma = 0 for i in range(n): for j in range(n): for k in range(n): aleatorio = random.randint(1, 1000) soma += aleatorio return soma # Medindo o tempo de execução para cada valor de n for n in [10, 100, 1000]: print(f"Valor de n: {n}") # Medindo o tempo de execução do Algoritmo 1 inicio = time.time() resultado1 = algoritmo1(n) fim = time.time() tempo1 = fim - inicio print(f"Tempo de execução do Algoritmo 1: {tempo1:.6f} segundos") # Medindo o tempo de execução do Algoritmo 2 inicio = time.time() resultado2 = algoritmo2(n) fim = time.time() tempo2 = fim - inicio print(f"Tempo de execução do Algoritmo 2: {tempo2:.6f} segundos") print() ``` Espero ter ajudado!
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar