Вы почти на месте, но (1 + 2 + ... + 100) / 100 не 50.
Может быть полезно заметить, что ваш метод случайного выбора эквивалентен случайному перемешиваниюцелая колода, а затем поиск по ней для вашей цели.Каждая позиция одинаково вероятна, поэтому среднее значение легко вычислить.За исключением того, что вы не выполняете всю эту работу заранее, столько, сколько необходимо для генерации каждого случайного числа и доступа к соответствующему элементу.
Обратите внимание, что если ваша книга была сохранена в виде связанного списка,затем стоимость перехода от каждой случайно выбранной страницы к следующей выборке зависит от того, насколько далеко они находятся друг от друга, что значительно усложнит анализ.Вы на самом деле не сказать, что у вас есть постоянное время доступ, и это, возможно, спорно, предусматривает ли это или не «настоящая книгу».
1006 * Для этого вопроса, есть более чем один способ выбора случайных чисел без повторови не все из них имеют одинаковое время выполнения.
Таким образом, вам потребуется больше подробностей для анализа алгоритма в терминах чего-либо, кроме «количества посещенных страниц».