Анализ среднего случая делает предположения о входных данных, которые могут не соблюдаться в определенных случаях. Поэтому, если ваш ввод не является случайным, в худшем случае фактическая производительность алгоритма может быть намного ниже, чем в среднем случае.
Амортизированный анализ не делает таких предположений, но учитывает общую производительность последовательности операций вместо одной операции.
Динамическая вставка массива представляет собой простой пример амортизированного анализа. Один алгоритм состоит в том, чтобы выделить массив фиксированного размера, и, когда новые элементы вставлены, выделите массив фиксированного размера, в два раза превышающий старую длину, когда это необходимо. В худшем случае для вставки может потребоваться время, пропорциональное длине всего списка, поэтому в худшем случае для вставки используется операция O (n). Однако вы можете гарантировать, что такой наихудший случай встречается нечасто, поэтому вставка является операцией O (1) с использованием амортизированного анализа. Амортизированный анализ имеет значение независимо от того, что входные данные.