Экспоненциальная сложность: различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
→‎Сравнение с полиномиальной сложностью: оформление, стилевые правки
орфография
Строка 1:
'''Экспоненциальная сложность''' или '''экспоненциальное время''' — в [[Теория сложности вычислений|теории сложности]] [[алгоритм]]ов, время решения задачи, ограниченоеограниченное [[Экспонента|экспонентой]] от размерности задачи. Другими словами, если размерность задачи возрастает [[Линейная функция|линейно]], время её решения возрастает экспоненциально.
 
== Определение ==
Строка 12:
Принято считать, что алгоритмы с [[полиномиальная сложность|полиномиальной сложностью]] являются «быстрыми», в то время как алгоритмы, сложность которых больше полиномиальной, — «медленными». С этой точки зрения алгоритмы с экспоненциальной сложностью являются медленными. Однако, это предположение не совсем точное. Дело в том, что время работы алгоритма зависит от значения ''n'' (размерности задачи) и сопутствующих [[Константа|констант]] скрытых в [[O-нотация|O-нотации]]. В некоторых случаях для малых значений ''n'' полиномиальное время может превосходить экспоненциальное. Однако, для больши́х значений ''n'' время работы алгоритма с экспоненциальной сложностью существенно больше.
 
== Суб-экспоненциальнаяСубэкспоненциальная сложность ==
 
Существует алгоритмы, которые работают более, чем за полиномиальное время ('''«сверх-полиномиальное»'''), но менее, чем за экспоненциальное время ('''«суб-экспоненциальное»'''). Примером такой задачи является разложение [[Целое число|целого числа]] на [[Простое число|простые]] [[Множитель|множители]] ([[факторизация]]). Такие алгоритмы также относятся к «медленным».