def test_maior_soma_lista_maior_soma_na_metade_algoritmo_linear(): assert_equals(algoritmo_linear([-1,-1,-1,-1,1,1,1,1,1,1,1,1,-1,-1,-1,-1]),(8))
for f in range(0,n): ini = time.time() for t in range(0,fator_de_teste_div_conq): a = lista_entrada(l[0:f]) fim = time.time() tempo_div_conq.append((fim-ini)/fator_de_teste_div_conq) print f+1, tempo_div_conq[f] print "" # Medição do tempo de resposta do algoritmo linear fator_de_teste_linear = m * 100 print "Tempo de Execucao Algoritmo Linear" if n == 0: ini = time.time() for t in range(0,fator_de_teste_linear): a = algoritmo_linear(l) fim = time.time() tempo_linear.append((fim-ini)/fator_de_teste_linear) print n, tempo_linear[n] else: for f in range(0,n): ini = time.time() for t in range(0,fator_de_teste_linear): a = algoritmo_linear(l[0:f]) fim = time.time() tempo_linear.append((fim-ini)/fator_de_teste_linear) print f+1, tempo_linear[f] if n <> 0: x = [n for n in range(1, n+1)] grid(True)
def test_maior_soma_lista_com_1_elemento_positivo_algoritmo_linear(): assert_equals(algoritmo_linear([1]),(1))
def test_maior_soma_lista_com_elementos_positivos_algoritmo_linear(): assert_equals(algoritmo_linear([1,1,1,1,1,1,1,1]),(8))
def test_maior_soma_lista_com_elementos_negativos_algoritmo_linear(): assert_equals(algoritmo_linear([-1,-1,-2]),(0))
def test_maior_soma_lista_com_2_elementos_zero_algoritmo_linear(): assert_equals(algoritmo_linear([0,0]),(0))
def test_maior_soma_lista_com_1_elemento_negativo_algoritmo_linear(): assert_equals(algoritmo_linear([-1]),(0))
def test_maior_soma_lista_vazia_algoritmo_linear(): assert_equals(algoritmo_linear([]),(0))
print "Qua", n[h], tempo_quadratico[h] # Medição do tempo de resposta do algoritmo divisao e conquista fator_de_teste_div_conq = m * 10 ini = time.time() for v in range(0, fator_de_teste_div_conq): a = lista_entrada(l) fim = time.time() tempo_div_conq.append((fim - ini) / fator_de_teste_div_conq) print "Div", n[h], tempo_div_conq[h] # Medição do tempo de resposta do algoritmo linear fator_de_teste_linear = m * 1000 ini = time.time() for v in range(0, fator_de_teste_linear): a = algoritmo_linear(l) fim = time.time() tempo_linear.append((fim - ini) / fator_de_teste_linear) print "Lin", n[h], tempo_linear[h] print tempo_cubico print tempo_quadratico print tempo_div_conq print tempo_linear # Apresentação dos resultados de forma gráfica ax = plt.subplot(111) ax.plot(n, tempo_cubico, n, tempo_quadratico, n, tempo_div_conq, n, tempo_linear) ax.legend(("Cubico", "Quadratico", "Div Conq", "Linear"), "upper left", shadow=True, fancybox=True) ax.grid(True) ax.set_title("Desempenho dos Algoritmos")