示例#1
0
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()
示例#2
0
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()