У меня есть документ, в котором говорится, что средняя сложность по времени для данного кода составляет O (nlog 2 n)
Random r = new Random();
int k = 1 + r.nextInt(n);
for (int i = 0; i < n ; i += k);
Я вычислил лучшие и худшие случаи как:
Лучший случай, k = n
, что приводит к сложности времени O(1)
.
Наихудший случай, k = 1
, ведущий к временной сложности O(n)
.
Как средний случай может быть O (nlog 2 n), что выше, чем наихудший случай.Я что-то упустил?
Редактировать: Документ может быть подвержен ошибкам, так что в таком случае, какова средняя сложность времени для приведенного выше кода и почему?