def main(): global mainArray print "Enumeration:" for k in [100, 150, 200, 250, 300, 350, 400, 450, 500, 550]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm1(array) time += runTime / 10 print time / 10 print "Better Enumeration:" for k in [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm2(array) time += runTime print time / 10 print "Divide and Conquer:" for k in [ 20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000 ]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm3(array) time += runTime print time / 10 print "Linear Time:" for k in [ 200000, 400000, 600000, 800000, 1000000, 1200000, 1400000, 1600000, 1800000, 2000000 ]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm4(array) time += runTime print time / 10
def main(): global mainArray print "Enumeration:" for k in [100, 150, 200, 250, 300, 350, 400, 450, 500, 550]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm1(array) time += runTime/10 print time/10 print "Better Enumeration:" for k in [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm2(array) time += runTime print time/10 print "Divide and Conquer:" for k in [20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm3(array) time += runTime print time/10 print "Linear Time:" for k in [200000, 400000, 600000, 800000, 1000000, 1200000, 1400000, 1600000, 1800000, 2000000]: mainArray = randArray(k) time = 0 tests = len(mainArray) for j in xrange(len(mainArray)): maxSum = 0 maxSubArray = [] array = mainArray[j] (maxSum, maxSubArray, runTime) = algorithm4(array) time += runTime print time/10
def main(): global mainArray print "Correctness Test" # Read the test cases from the test file and save to global 2D array mainArray = scanInput() totalTests = len(mainArray) count = 0.0 for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j + 1, ) (maxSum, maxSubArray, runTime) = algorithm1(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 1 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 1 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n" for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j + 1, ) (maxSum, maxSubArray, runTime) = algorithm2(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 2 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 2 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n" for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j + 1, ) (maxSum, maxSubArray, runTime) = algorithm3(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 3 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 3 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n" for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j + 1, ) (maxSum, maxSubArray, runTime) = algorithm4(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 2 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 2 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n"
def main(): global mainArray print "Correctness Test" # Read the test cases from the test file and save to global 2D array mainArray = scanInput() totalTests = len(mainArray) count = 0.0 for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j+1,) (maxSum, maxSubArray, runTime) = algorithm1(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 1 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 1 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n" for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j+1,) (maxSum, maxSubArray, runTime) = algorithm2(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 2 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 2 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n" for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j+1,) (maxSum, maxSubArray, runTime) = algorithm3(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 3 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 3 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n" for j in xrange(len(mainArray)): maxSum = 0 array = mainArray[j] maxSubArray = [] string = 'array #%d' % (j+1,) (maxSum, maxSubArray, runTime) = algorithm4(array) outfile.write("-----------------------------------\n") outfile.write("Algorithm 2 Results for " + string + "\n") outfile.write("-----------------------------------\n") outfile.write("Original Array: " + str(array) + "\n") outfile.write("Maximum subarray: " + str(maxSubArray) + "\n") outfile.write("Maximum sum: " + str(maxSum) + "\n\n") print "-----------------------------------" print "Algorithm 2 Results for " + string print "-----------------------------------" print "Original Array: " + str(array) print "Max SubArray: " + str(maxSubArray) print "Maximum Sum: " + str(maxSum) print "Runtime: " + str(runTime) + "\n"