Время работы алгоритма зависит от размера и «сложности» ввода.
Например, лучший случай время выполнения сортировки вставки на входе некоторого размера n пропорционально n , т.е. c * n единицы времени для некоторой постоянной c , которая зависит от стоимости (времени) сравнения, арифметики, ... вашей вычислительной модели. наихудший случай время выполнения этого алгоритма (сортировка вставки) пропорционально n * n .Чтобы сделать утверждение для среднего времени , нам нужно некоторое предположение о распределении входных данных: Например, если входные данные являются случайными данными (и, следовательно, вероятно, не отсортированы), среднее время выполнения снова пропорционально n *п.
Если вам известно больше о входных данных, например, о том, что они сортируются по убыванию значений (а мы сортируем по возрастанию значений), среднее время выполнения все равно пропорционально n * n, но постоянный коэффициент выше(потому что среднее время поиска минимума (которое будет вставлено в конец отсортированного подсписка) занимает больше времени).
Другой, более сложный пример - быстрая сортировка: его среднее и лучшее время выполнения для случайногоданные пропорциональны n * log n .Худшее время каста по-прежнему составляет n * n (часто для уже отсортированного ввода, но это зависит от алгоритма нахождения элемента поворота на шаге деления).