Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Garbage / Информатика / 3.3.7 - Анализ алгоритмов

.pdf
Скачиваний:
35
Добавлен:
21.05.2015
Размер:
111.71 Кб
Скачать

Анализ алгоритмов.

Для выработки количественных критериев сравнения алгоритмов, претендующих на решение одной и той же задачи, используются такие характеристики алгоритмов как время и объем памяти, используемых алгоритмом.

Пусть A – алгоритм решения задачи P для любых данных x из области D. Пусть tA(x) – время работы алгоритма A (количество элементарных тактов, выполняемых на некоторой модели вычислительного устройства) на входных данных x D , sA(x) -объем памяти (количество ячеек), используемой алгоритмом A при обработке x, а |x| - размер входных данных x, т.е. число, характеризующее их объем. Тогда функция от размера данных n

T A (n) = sup{tA (x) : x D, | x | n} , S A (n) = sup{sA (x) : x D, | x | n}

называются соответственно временной и емкостной сложностями алгоритма A. Таким образом, временная и емкостная сложности оценивают время и объем

памяти алгоритма в “худшем” случае. Если известно распределение вероятности p(x) на входе x алгоритма A,

x D, |x|n p(x) =1,

то функции

 

x D, |x|n p(x) t A(x)

(средняя временная сложность) и

x D, |x|n p(x) s A(x)

(средняя емкостная сложность)

характеризуют (как функции от размера входа n) средние потребности алгоритма A во времени и памяти.