def test_MergeSort(self): """! Testing of merge sort method """ tst16 = [1, 2, 3, 7, 5, 6, 4] true_tst16 = [1, 2, 3, 4, 5, 6, 7] self.assertEqual(true_tst16, Sort.MergeSort(tst16)) tst17 = [-1, -2, -3, -7, -5, -6, -4] true_tst17 = [-7, -6, -5, -4, -3, -2, -1] self.assertEqual(true_tst17, Sort.MergeSort(tst17)) tst18 = [10, -2, 3, -7, 5, 6, -4] true_tst18 = [-7, -4, -2, 3, 5, 6, 10] self.assertEqual(true_tst18, Sort.MergeSort(tst18)) tst19 = [5.0, 4.0, 3.0, 2.0, 1.0] true_tst19 = [1.0, 2.0, 3.0, 4.0, 5.0] self.assertEqual(true_tst19, Sort.MergeSort(tst19)) tst20 = [] true_tst20 = [] self.assertEqual(true_tst20, Sort.MergeSort(tst20))
def Select_Base_on_SelectionSort(A, i): A_new = Sort.MergeSort(A, 0, len(A) - 1) return A_new[i - 1]
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)
msg += "\n" File.write(msg) else: msg = "Insertion Sort in case 2 k = " + str( k) + " Time : Over Time" ans_1_2 = ['Insertion Sort', 'case 2', k, "Over Time"] #print(msg) msg += "\n" File.write(msg) # sol 2 gen 1 if not OverTime[2]: T = [] for i in range(10): data = gen_data_1(seed[i], k) tStart = time.perf_counter() # 計時開始 check = Sort.MergeSort(data) if check.OverTime: OverTime[2] = True msg = "Merge Sort in case 1 k = " + str( k) + " Time : Over Time" ans_2_1 = ['Merge 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[2]: Tavg = sum(T) / len(T) msg = "Merge Sort in case 1 k = " + str( k) + " Time : " + str(round(Tavg * 1000, 5)) + " (ms)"