Я хотел бы проверить время выполнения различных алгоритмов сортировки, и я обнаружил интересную проблему. Когда я запускаю программу несколько раз, скажем, сортировку вставкой, первые один или два раза стоят намного больше времени, чем более поздние. Этот сценарий происходит, когда размер массива велик, также разные размеры имеют разное влияние на время выполнения.
public static void insertSort(int[] array)< for(int i = 1; i=0)(array[j]>current)) < array[j+1] = array[j]; array[j] = current; j—; >> > public static void multiTimes(int size)
Размер: 100
Вставить 77908 нс
Вставить 82573 нс
Вставить 75109 нс
Вставить 76508 нс
Вставить 91902 нс
Вставить 78840 нс
Каждый раз время выполнения аналогично.
размер: 1000:
Вставить 6256400 нс
Вставить 5674659 нс
Вставить 188938 нс
Вставить 188004 нс
Вставить 187071 нс
Вставить 186605 нс
размер: 2000:
Вставить 7961037 нс
Вставить 6590889 нс
ВРЕМЯ МЕНЯЕТ СТРУКТУРУ | НАМ ЗАПРЕТИЛИ ЭТО ЗНАТЬ | КОНЕЦ ВРЕМЕН
Вставить 793538 нс
Вставить 793072 нс
Вставить 793072 нс
Вставить 792138 нс
Почему время выполнения программы существенно меняется?
Я хотел протестировать время выполнения различных алгоритмов сортировки и обнаружил интересную проблему. Когда я запускаю программу несколько раз, скажем, сортировку вставками, первые один или два раза требуют гораздо больше времени, чем последующие. Этот сценарий происходит, когда размер массива большой, также разные размеры по-разному влияют на время выполнения.
public static void insertSort(int[] array)< for(int i = 1; i=0)(array[j]>current)) < array[j+1] = array[j]; array[j] = current; j—; >> > public static void multiTimes(int size)
Размер: 100
Вставить 77908 нс
Вставить 82 573 нс
Вставить 75109 нс
Вставьте 76 508 нс
Вставить 91902 нс
Вставить 78840 нс
Каждый раз время выполнения одинаковое.
Размер: 1000:
Вставка 6256400 нс
Вставка 5674659 нс
Вставьте 188938 нс
Вставьте 188004 нс
Вставьте 187071 нс
Вставьте 186605 нс
Размер: 2000:
Вставка 7961037 нс
Вставка 6590889 нс
Вставьте 793538 нс
Вставка 793072 нс
Вставка 793072 нс
Вставить 792138 нс