def runAll(sorttype, sortcase): sort_factory = SortFactory() if sortcase == 'All': tStat = [[0 for x in range(len(sortCases))] for y in range(len(sortTypes))] sStat = [[0 for x in range(len(sortCases))] for y in range(len(sortTypes))] for iter, order in sortobjects: print(iter) alg = sort_factory.buildSort(iter) for newiter in range(0, len(sortCases)): totaltime = 0 step = 0 usecases = Common.CaseFactory().buildCase(sortCases[newiter]) usecases.setArray() for epoch in range(0, epochs): time, step = alg.measurePerformance(usecases.getArray()) totaltime = totaltime + time tStat[order][newiter] = totaltime / epochs sStat[order][newiter] = step print(tStat) index = np.arange(len(sortCases)) bar_width = 0.35 opacity = 0.8 colors = ['b', 'r', 'm', 'g'] # All graphics for Time Performance for iter in range(0, len(sortTypes)): plt.bar(index + (iter * bar_width), tStat[iter], bar_width / 2, alpha=opacity, color=colors[iter], label=sortTypes[iter]) # index=index+bar_width # plt.ylim(, 100000) # plt.yticks(np.arange(0, 100000, 500)) plt.xlabel('Test Cases') plt.ylabel('Time in Miliseconds') plt.title('Time Performance for Sorting Algorithms') plt.xticks(index + bar_width, sortCases) plt.legend() plt.tight_layout() plt.show() for iter in range(0, len(sortTypes)): plt.bar(index + (iter * bar_width), sStat[iter], bar_width / 2, alpha=opacity, color=colors[iter], label=sortTypes[iter]) # index=index+bar_width # plt.ylim(, 100000) # plt.yticks(np.arange(0, 100000, 500)) plt.xlabel('Test Cases') plt.ylabel('Number of Steps') plt.title('Complexity Performance for Sorting Algorithms') plt.xticks(index + bar_width, sortCases) plt.legend() plt.tight_layout() plt.show() else: #tStat = [[0 for x in range(0,1)] for y in range(len(searchTypes))] #sStat = [[0 for x in range(0,1)] for y in range(len(searchTypes))] tStat = list() sStat = list() for iter, order in sortobjects: print(iter) alg = sort_factory.buildSort(iter) totaltime = 0 step = 0 usecases = Common.CaseFactory().buildCase(sortcase) usecases.setArray() for epoch in range(0, epochs): time, step = alg.measurePerformance(usecases.getArray()) totaltime = totaltime + time tStat.append(totaltime / epochs) sStat.append(step) index = np.arange(len(sortTypes)) bar_width = 0.35 opacity = 0.8 colors = ['b', 'r', 'm', 'g'] plt.bar(index + bar_width, tStat, bar_width / 2, alpha=opacity, color=colors) # plt.ylim(, 100000) # plt.yticks(np.arange(0, 100000, 500)) plt.xlabel('Test Cases') plt.ylabel('Time in Miliseconds') plt.title('Time Performance for ' + sorttype + ' Sorting Algorithm') plt.xticks(index + bar_width, sortTypes) plt.legend() plt.tight_layout() plt.show() plt.bar(index + bar_width, sStat, bar_width / 2, alpha=opacity, color=colors) # plt.ylim(, 100000) # plt.yticks(np.arange(0, 100000, 500)) plt.xlabel('Test Cases') plt.ylabel('Number of Steps') plt.title('Complexity Performance for ' + sorttype + ' Sorting Algorithm') plt.xticks(index + bar_width, sortCases) plt.legend() plt.tight_layout() plt.show()
def runSort(sorttype, sortcase): sort_factory = SortFactory() alg = sort_factory.buildSort(sorttype) tStat = list() sStat = list() if sortcase == 'All': for newiter in range(0, len(sortCases)): totaltime = 0 step = 0 usecases = Common.CaseFactory().buildCase(sortCases[newiter]) usecases.setArray() for epoch in range(0, epochs): time, step = alg.measurePerformance(usecases.getArray()) totaltime = totaltime + time tStat.append(totaltime / epochs) sStat.append(step) else: usecases = Common.CaseFactory().buildCase(sortcase) usecases.setArray() totaltime = 0 for epoch in range(0, epochs): time, step = alg.measurePerformance(usecases.getArray()) totaltime = totaltime + time tStat.append(totaltime / epochs) sStat.append(step) #return tStat,sStat if sortcase == 'All': index = np.arange(len(sortCases)) bar_width = 0.35 opacity = 0.8 colors = ['b', 'r', 'm'] plt.bar(index + bar_width, tStat, bar_width / 2, alpha=opacity, color=colors) # plt.ylim(, 100000) # plt.yticks(np.arange(0, 100000, 500)) plt.xlabel('Test Cases') plt.ylabel('Time in Miliseconds') plt.title('Time Performance for ' + sorttype + ' Sorting Algorithm') plt.xticks(index + bar_width, sortCases) plt.legend() plt.tight_layout() plt.show() plt.bar(index + bar_width, sStat, bar_width / 2, alpha=opacity, color=colors) # plt.ylim(, 100000) # plt.yticks(np.arange(0, 100000, 500)) plt.xlabel('Test Cases') plt.ylabel('Number of Steps') plt.title('Complexity Performance for ' + sorttype + ' Sorting Algorithm') plt.xticks(index + bar_width, sortCases) plt.legend() plt.tight_layout() plt.show() else: plt.bar(sortcase, tStat, align='center', alpha=0.5) plt.title(sorttype) plt.xlabel('Time Performance for ' + sorttype) plt.ylabel('Time in Miliseconds') plt.tight_layout() plt.show() plt.bar(sortcase, sStat, align='center', alpha=0.5) plt.title(sorttype) plt.xlabel('Complexity Performance for ' + sorttype) plt.ylabel('Number of Steps') plt.tight_layout() plt.show()