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))
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)
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)"