Эффективность алгоритмов.

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

Существует ряд важных причин для анализа алгоритмов.

· Одной из них является необходимость получения оценок (или границ) для объема памяти или времени работы, которое потребуется алгоритму для успешной обработки конкретных данных. Машинное время и память относительно дефецитные и дорогие ресурсы.

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

· Еще одна причина - желание иметь механизм для выявления наиболее эффективных алгоритмов. Иногда невозможно составить четкое мнение об относительной эффективности двух алгоритмов. Один может в среднем лучше работать, к примеру, на случайных входных данных, другой лучше работает на каких-то специальных данных. Важно также установить абсолютный критерий. Когда считать решение задачи оптимальным, т.е. когда наш алгоритм настолько хорош, что его невозможно (независимо от наших умственных способностей) значительно улучшить.

Эффективность алгоритма является очень важной его характеристикой.