Вычислительная сложность: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
→Замечания: -не отн. к теме |
|||
Строка 19:
Несмотря на то, что функция временной сложности алгоритма в некоторых случаях может быть определена точно, в большинстве случаев искать точное её значение бессмысленно. Дело в том, что во-первых, точное значение временной сложности зависит от определения ''элементарных операций'' (например, сложность можно измерять в количестве [[арифметика|арифметических]] операций, [[Сложность вычисления (битовая)|битовых]] операций или операций на [[машина Тьюринга|машине Тьюринга]]), а во-вторых, при увеличении размера входных данных вклад постоянных множителей и слагаемых низших порядков, фигурирующих в выражении для точного времени работы, становится крайне незначительным.
Рассмотрение входных данных большого размера и оценка [[порядок роста|порядка роста]] времени работы алгоритма приводят к понятию '''асимптотической сложности''' алгоритма. При этом алгоритм с меньшей асимптотической сложностью является более эффективным для всех входных данных, за исключением лишь, возможно, данных малого размера. Для записи асимптотической сложности алгоритмов используются [[«O» большое и «o» малое|асимптотические обозначения]]:<!-- !асимптотические обозначения -->
=== Примеры ===
* '''«почистить ковёр пылесосом»''' требует время, линейно зависящее от его площади (<math>\Theta(A)</math>), то есть на ковёр, площадь которого больше в два раза, уйдет в два раза больше времени. Соответственно, при увеличении площади ковра в сто тысяч раз объём работы увеличивается [[Пропорция (математика)|строго пропорционально]] в сто тысяч раз, и т. п.
|