Очікуваний час роботи рандомізованого алгоритму - це чітко визначена концепція, як і найгірший час роботи. Якщо алгоритм рандомізований, його час роботи також є випадковим, а це означає, що ми можемо визначити очікуване значення його часу.
Добре відомий приклад - Quicksort: якщо ми обираємо повороти навмання, ми можемо довести, що очікуваний час його роботи стає O (n log n), хоча найгіршим часом роботи залишається O (n ^ 2). Прикладом, коли рандомізація є дуже потужною, є найменшою проблемою кола, що охоплює: існує простий алгоритм, найгірший час виконання якого - O (n ^ 3), але, на очікування, його час роботи становить лише O (n).
Середній час роботи зазвичай використовується, коли йдеться про поведінку алгоритму "для більшості входів". Ми визначаємо певний спосіб випадкового генерування введення, наприклад, заповнюємо масив випадковими числами, або випадковим чином переставляємо числа від 1 до n (тому жодних дублікатів), або перегортаємо монету і отримуємо низхідний або висхідний набір числа. Середній час роботи алгоритму для цього випадкового розподілу входів - це очікуваний час роботи алгоритму (у такому випадку алгоритм може бути не рандомизованим, але введенням є).
Як приклад: є геометричні проблеми, для яких існують алгоритми, які, здається, працюють добре на перший погляд, поки ви не відкриєте якийсь дуже дивний спосіб розподілу, скажімо, рядків введення. Якщо ви припускаєте, що рядки розподіляються випадковим чином, то, можливо, трапляються ці дивні сценарії вкрай малоймовірно, тому ваш алгоритм виявляється хорошим.
Контраст: очікуваний час роботи - це те, як працює алгоритм "якщо у вас немає удачі" - повторний пошук того ж алгоритму на одному вході, але з різними випадковими варіантами може призвести до його вирішення набагато швидше. Середній час роботи говорить про те, наскільки добре алгоритм виконує функцію "для більшості входів" - повторне спробу того ж алгоритму на тому ж вході вам не допоможе (за винятком випадків, якщо алгоритм також буде рандомізований).