Рассмотрим следующий глупый рандомизированный вариант бинарного поиска. Вам задан отсортированный массив А из n целых чисел и целого числа v, которое вы ищете, выбирается равномерно случайным образом из A. Затем вместо сравнения v со значением в середине массива рандомизированный двоичный поиск вариант выбирает случайное число r от 1 до n и сравнивает v с A [r]. В зависимости от того, больше или меньше v, этот процесс повторяется рекурсивно в левой части массива или в правой поддиапазоне до тех пор, пока не будет найдено местоположение v. Докажите ограниченную привязку ожидаемого времени работы этого алгоритма.Время выполнения рандомизированного двоичного поиска
Вот что я для Т (п)
T(n) = T(n-r) + T(r) + Θ(1)
Однако, я понятия не имею, как получить точную оценку.
В худшем случае представляет собой О (п), если генератор случайных чисел происходит всегда выбирать 1 или п. –
@MarkRansom ... который происходит с вероятностью 2/factorial (n). Другими словами, никакое заметное влияние на время вычисления для крошечных значений n, гораздо менее вероятное, чем поражение метеоритом при n> 10, и «никогда не произойдет в этой вселенной» для n> 20. – pjs
@pjs Я говорил о худшем случае в математическом смысле, вероятности были прокляты. Это намного отличается от практического обсуждения. Поскольку вопрос касался «жесткой связи», я думал, что это может иметь какое-то отношение. –