# timeit clocking function time for Algorithm 1 # To save time, only run timings on Algorithm 1 up to n=1000 if n<1001: t=Timer(lambda: maxsub.maxSubarray1(myArray,results)) alg1time = t.timeit(number=1) # timeit clocking function time for Algorithm 2 # To save time, only run timings on Algorithm 2 up to n=50000 if n < 50001: t=Timer(lambda: maxsub.maxSubarray2(myArray,results)) alg2time = t.timeit(number=1) # timeit clocking function time for Algorithm 3 start = 0 end = len(myArray) -1 t = Timer(lambda: maxsub.maxSubarray3(myArray, start, end)) alg3time = t.timeit(number=1) # timeit clocking function time for Algorithm 4 t=Timer(lambda: maxsub.maxSubarray4(myArray,results)) alg4time = t.timeit(number=1) # Add times to the total alg1total = alg1total + alg1time alg2total = alg2total + alg2time alg3total = alg3total + alg3time alg4total = alg4total + alg4time # Find averages alg1ave = alg1total/n alg2ave = alg2total/n
out_file.write('\n') out_file.write(str(results[2])) out_file.write('\n\n') # rewind to beginning of file and do it again with algorithm 3... out_file.write("Algorithm 3\n") in_file.seek(0) while (1): line = in_file.readline() if (not line) or (len(line) < 2): break line = [int(i) for i in line.replace("[","").replace(" ","").replace("]","").split(",")] print "Algorithm 3" start = 0 end = len(line) -1 t = Timer(lambda: maxsub.maxSubarray3(line, start, end)) res = t.timeit(number=1) print "Running time: " + str(res) res = maxsub.maxSubarray3(line, start, end) print res[0] #j = res[2] - res[1] +1 out_file.write('[') if (res[1] < res[2]): for i in range(res[1], res[2]): out_file.write(str(line[i]) + ', ') out_file.write(str(line[res[2]]) + ']') out_file.write('\n') out_file.write(str(res[0])) out_file.write('\n\n')