Esempio n. 1
0
    def test_InsertionSort(self):
        """! Testing of insertion sort method """
        tst11 = [1, 2, 3, 7, 5, 6, 4]
        true_tst11 = [1, 2, 3, 4, 5, 6, 7]
        self.assertEqual(true_tst11, Sort.InsertionSort(tst11))

        tst12 = [-1, -2, -3, -7, -5, -6, -4]
        true_tst12 = [-7, -6, -5, -4, -3, -2, -1]
        self.assertEqual(true_tst12, Sort.InsertionSort(tst12))

        tst13 = [10, -2, 3, -7, 5, 6, -4]
        true_tst13 = [-7, -4, -2, 3, 5, 6, 10]
        self.assertEqual(true_tst13, Sort.InsertionSort(tst13))

        tst14 = [5.0, 4.0, 3.0, 2.0, 1.0]
        true_tst14 = [1.0, 2.0, 3.0, 4.0, 5.0]
        self.assertEqual(true_tst14, Sort.InsertionSort(tst14))

        tst15 = []
        true_tst15 = []
        self.assertEqual(true_tst15, Sort.InsertionSort(tst15))
Esempio n. 2
0
import Sort
A = [1, 7, 5, 8, 3, 5, 3, 4, 2]

print('A = ', A)

result1 = Sort.InsertionSort(A)
print('by Insertition-Sort:', result1)

result2 = Sort.MergeSort(A)
print('by Merge-Sort:', result2)

result3 = Sort.QuickSort(A, 0, len(A) - 1)
print('by Quick-Sort:', result3)

result4 = Sort.bucketSort(A)
print('by Bucket-Sort:', result4)
Esempio n. 3
0
with open('ans.csv', "r+") as csvFile:
    csvFile.truncate()
    writer = csv.writer(csvFile)
    writer.writerow(['Sort', 'case', 'k', 'time(ms)'])
for k in range(27, 31):
    #for k in range(10,12):
    seed = []
    for i in range(10):
        seed.append(random.randint(0, 1000))
    # sol 1 gen 1
    if not OverTime[0]:
        T = []
        for i in range(10):
            data = gen_data_1(seed[i], k)
            tStart = time.perf_counter()  # 計時開始
            check = Sort.InsertionSort(data)
            if check.OverTime:
                OverTime[0] = True
                msg = "Insertion Sort        in case 1 k = " + str(
                    k) + " Time : Over Time"
                ans_1_1 = ['Insertion Sort', 'case 1', k, "Over Time"]
                #print(msg)
                msg += "\n"
                File.write(msg)
                break
            tEnd = time.perf_counter()  # 計時結束
            T.append(tEnd - tStart)
        if not OverTime[0]:
            Tavg = sum(T) / len(T)
            msg = "Insertion Sort        in case 1 k = " + str(
                k) + " Time : " + str(round(Tavg * 1000, 5)) + " (ms)"