Ожидаемое время работы рандомизированного алгоритма является четко определенной концепцией, как и время работы в худшем случае. Если алгоритм рандомизирован, его время выполнения также является случайным, что означает, что мы можем определить ожидаемое значение его времени выполнения.
Хорошо известным примером является Quicksort: если мы выбираем шарниры случайным образом, мы можем доказать, что его ожидаемое время выполнения становится O (n log n), даже если его наихудшее время выполнения остается O (n ^ 2). Примером, когда рандомизация является очень мощной, является наименьшая проблема окружающего круга: существует простой алгоритм, время выполнения которого в худшем случае равно O (n ^ 3), но, как ожидается, его время выполнения составляет только O (n).
Среднее время выполнения обычно используется, когда речь идет о поведении алгоритма «для большинства входов». Мы определяем некоторый способ случайной генерации ввода, например, заполняем массив случайными числами, или мы случайным образом переставляем числа от 1 до n (чтобы не было дубликатов), или мы подбрасываем монету и получаем либо нисходящий, либо восходящий набор номера. Среднее время работы алгоритма для этого случайного распределения входных сигналов является ожидаемым временем работы алгоритма (в этом случае алгоритм может быть не рандомизированным, а входным).
В качестве примера: существуют геометрические проблемы, для которых существуют алгоритмы, которые, на первый взгляд, хорошо работают, пока вы не обнаружите какой-то очень странный способ распределения, скажем, входных строк. Если вы предполагаете, что линии распределены случайным образом, то может случиться так, что эти странные сценарии крайне маловероятны, поэтому ваш алгоритм в конечном итоге будет хорошим.
В отличие от этого: ожидаемое время выполнения - это то, как алгоритм работает «если вам не повезет» - повторение одного и того же алгоритма на одном входе, но с разными случайными вариантами выбора может привести к его быстрому решению. Среднее время выполнения говорит о том, насколько хорошо алгоритм работает «для большинства входов» - повторная попытка того же алгоритма на том же входе не поможет вам (за исключением, возможно, если алгоритм также рандомизирован).