Результаты теста
Эта сортировка сегментов становится более эффективной, даже если в списке появляется все больше элементов. Я ищу ответ, чтобы указать мне правильное направление, чтобы понять, почему это происходит.
Test:[1] | Average Bench Time:[11ms] | Elements Sorted:[1 000 000]
Test:[2] | Average Bench Time:[11ms] | Elements Sorted:[2 000 000]
Test:[3] | Average Bench Time:[4ms] | Elements Sorted:[3 000 000]
Test:[4] | Average Bench Time:[7ms] | Elements Sorted:[4 000 000]
Test:[5] | Average Bench Time:[7ms] | Elements Sorted:[5 000 000]
Test:[6] | Average Bench Time:[10ms] | Elements Sorted:[6 000 000]
Test:[7] | Average Bench Time:[12ms] | Elements Sorted:[7 000 000]
Test:[8] | Average Bench Time:[12ms] | Elements Sorted:[8 000 000]
Test:[9] | Average Bench Time:[15ms] | Elements Sorted:[9 000 000]
Test:[10] | Average Bench Time:[17ms] | Elements Sorted:[10 000 000]
Здесь код сортировки
public void Sort() {
int[] bucket = new int[getMax() + 1];
for (int i = 0; i < size; i++)
bucket[data[i]] = bucket[data[i]] + 1;
int index = 0;
for (int i = 0; i < bucket.length; i++) {
for (int k = 0; k < bucket[i]; k++) {
data[index] = i;
index++;
}
}
}
Я новичок в stackoverflow, поэтомуЯ не уверен, что вопросы, не связанные с кодом, приемлемы.
Логический поток событий
- Каждому тесту присваивается максимальный размер для заполнения массива.
- Рандомизированные целые числа помещаются в каждый индекс, заполняя весь массив
- Системное время сохраняется
- Список сортируется
- Системное время сравнивается
- Результат отображается