Я смотрел исходный код метода sort() java.util.ArrayList на grepcode. Они, похоже, используют сортировку вставки на небольших массивах (размером < 7) и сортируют по объему на больших массивах. Мне просто интересно было ли это иметь большое значение, учитывая, что они используют сортировку вставки только для массивов размера < 7. Разница в рабочем времени вряд ли будет заметна на современных машинах.
Я прочитал это в Кормене:
Хотя сортировка слиянием выполняется в O (n * logn) в худшем случае, а сортировка вставки выполняется в наихудшем случае O (n * n), постоянные факторы в сортировке вставки могут сделать это быстрее на практике при небольших размерах проблем на многих машинах. Таким образом, имеет смысл оборвать листья рекурсии, используя сортировку вставки при сортировке слияния, когда подзадачи становятся достаточно маленькими.
Если бы я разработал алгоритм сортировки для некоторого компонента, который мне нужен, то я бы рассмотрел использование вставки-сортировки для больших размеров (возможно, до размера < 100) до того, как разница в времени выполнения по сравнению с сортировкой слияния станет очевидно.
Мой вопрос заключается в том, что представляет собой анализ, стоящий за размером < 7?