示例#1
0
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
示例#2
0
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
示例#3
0
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"
示例#4
0
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"