insertion_sorter = InsertionSort() merge_sorter = MergeSort() for attempt in range( 0, M_ATTEMPTS ): # initialize diff_abs_times = [] merge_times = [] insertion_times = [] # size goes from MIN_ARRAY_SIZE to MAX_ARRAY_SIZE for size in size_range: # generate size random integers between -100 and 100 input_array = generate_random_integers( size ) # insert input inside sorter objects insertion_sorter.get_input( input_array ) merge_sorter.get_input( input_array ) # sort with insertion_sorter and benchmark start_time_insertion = tic() insertion_sorter.asc_sort() end_time_insertion = toc() # sort with merge_sorter and benchmark start_time_merge = tic() merge_sorter.asc_sort() end_time_merge = toc()
K_VALUES = list( range( 0, 85 + 1 ) ) ARRAY_SIZE = 5000 # create two sorter objects hybrid_sorter = HybridSort() merge_sorter = MergeSort() for attempt in range(0, M_ATTEMPTS): # initialize hybrid_times = [] merge_times = [] # generate size random integers between -100 and 100 input_array = generate_random_integers( ARRAY_SIZE ) merge_sorter.get_input( input_array ) # sort with merge_sorter and benchmark start_time_merge = tic() merge_sorter.asc_sort() end_time_merge = toc() for K in K_VALUES: # insert input inside sorter objects hybrid_sorter.set_K( K ) hybrid_sorter.get_input( input_array ) # sort with hybrid_sorter and benchmark