Средний случай действительно O (N N!):
Заметьте, что там точно N! перестановки из N элементов. Вероятность выбора правильного точно равна 1 / N !. Следовательно, по строгому закону больших чисел ожидаемое число перемешиваний равно N!.
Откуда берется другой фактор N? На каждом шаге вы должны проверять, какую перестановку вы выбрали. Это можно сделать линейно, сравнив соседние элементы. Отсюда и дополнительный коэффициент N.
В комментариях выше указано, что запись O (g (n)) является «наихудшим случаем»:
1) Это не правда. Определение O (g (n)):
f (n) есть O (g (n)), если существует такое c, d, что f (n)
2) Для рандомизированных алгоритмов бессмысленно проводить анализ «наихудшего случая». Вы можете придумать казнь, которая будет очень плохой.
3) Действительно плохие казни происходят с набором меры 0 (вероятностный специалист сказал бы, что они «почти наверняка» не происходят). Их на самом деле невозможно наблюдать.