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