I. Т. к. алгоритм создается для решения задач одного класса, то вводят классификацию алгоритмов по типу решаемых задач:
Табличные алгоритмы имеют в своей основе таблицу (поле исходных значений) и правила поиска решений.
Численные алгоритмы задаются в виде формул и блок-схем. В их основе значительную роль играют арифметические операции (+,–, /, *).
Алгоритмы игр имеют в основе логические задачи.
Комбинационные алгоритмы представляют собой совокупность алгоритмов других классов.
II. По способу создания (источники) различают:
Эмпирические алгоритмы – алгоритмы, полученные в ходе эксперимента или имитационного моделирования.
Теоретически обусловленные алгоритмы – алгоритмы, возникшие из основных положения какой-либо теории.
Эвристические алгоритмы – алгоритмы, основанные на личном опыте, таланте и изобретательности разработчика.
III. По критерию реализуемости различают:
Простые алгоритмы – хорошо обусловленные алгоритмы.
Трудно разрешимые алгоритмы – алгоритмы решения частных задач, обладающих большой сложностью и не являющихся эффективными.
Нереализуемые алгоритмы.
Свойства алгоритмов.
1. Дискретность. Поэтому правило, порождающее непрерывный характер процесса решения задачи, не является алгоритмом.
Примеры:
«Уходя, гасите свет» - примитивный алгоритм.
«Не курить» - непрерывный процесс, не являющийся алгоритмом.
2. Массовость. Алгоритм должен решать не одну конкретную задачу (ограниченное множество неизменных исходных данных), а серию однотипных задач.
Массовость алгоритма – это допустимость всех объектов соответствующего класса, а не допустимость какого-либо их количества.
Do'stlaringiz bilan baham: |