Вы находитесь на странице: 1из 1

3.

Выбор алгоритма

Не существует такого универсального алгоритма, который подходил


бы под все случаи и решал абсолютно все проблемы.

Выбор алгоритма строго зависит от размера и структуры данных.


Таким образом, выбор правильного алгоритма может быть неясен до тех пор,
пока мы не проверим возможные варианты и не наткнёмся на ошибки.

Первая или самая распространенная ошибка при выборе алгоритма –


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

Вторая ошибка – уделять слишком много внимания характеристикам


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

Но каждый алгоритм обладает как преимуществами, так и


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

Можно сократить время работы алгоритма на 3-6 порядка за счет


выбора правильного алгоритма.

Достоинством алгоритма является то, что он обладает свойством


определенности за конечное число итераций.

Недостатком алгоритма является большая вычислительная сложность,


даже для небольших по размерности задач число возможных правильных
отсечений и соответственно больших итераций может быть весьма большей.

В результате анализа различных алгоритмов, было выявлено, что для


решения проблемы наиболее подходящим является жадный алгоритм (greedy
alghoritm).