ПРОГРАММИРОВАНИЕ! СОЗДАНИЕ САЙТОВ И ИХ ОПТИМИЗАЦИЯ
Главная » Статьи » Программирование » Теория алгоритмов |
Оценка сложности алгоритмов С каждым алгоритмом обычно связывается интуитивное представление о их сложности, основанное на оценке количества необходимых преобразований слов, а также количества и длины самих слов. Однако, интуитивное представление не позволяет однозначно выбрать для решения конкретной задачи один из множества эквивалентных алгоритмов или определить возможность применения данного алгоритма для ее решения. При формальной оценке сложности алгоритмов можно использовать следующие определения. Пусть: Для достаточно больших n значение экспоненциальной функции всегда превышает значение полиномиальной функции. Для малых n это не всегда справедливо, но всегда есть такое n, для которого значение экспоненциальной функции превышает аналогичное для полиномиальной. Время, затраченное на реализацию алгоритма, как функция размерности задачи называется временной сложностью алгоритма и обозначается как O[fA(n)]. Применительно к решению задачи на ЭВМ это время является в большинстве случаев свойством самого алгоритма и слабо зависит от машины, на которой решается соотвтствующая алгоритму программа. Кроме временной сложности алгортмов существуют и другие меры сложности. Так, сложность можно характиризовать числом операций N (применительно к конкретной ЭВМ) и общим объемом информации Р, т.е общим количеством слов, используемых при выполнении алгоритма. Тогда время его выполнения на конкретной ЭВМ связано с числом операций, а объем информации связан с объемом памяти, необходимой машине для реализации соответствующей программы. Следовательно, время реализации алгоритма есть функция T=f(N). При таком подходе значения Т и Р называют соответственно вычислительной и емкостной сложностью алгоритма. | |
Просмотров: 1458 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |