Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция 2 алгоритмы введение.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
126.93 Кб
Скачать

1.2.4. Свойства алгоритма

Алгоритмом называется система формальных правил, четко и однозначно определяющая процесс решения поставленной зада­ми в виде конечной последовательности действий или операций.

Свойства, которыми должен обладать алгоритм:

  1. Конечность (финитность) алгоритма. Алгоритм должен приводить к решению задачи обязательно за конечное время. Последовательность правил, приведшая к бесконечному циклу, алгоритмом не является.

  2. Определенность (детерминированность) алгоритма. Это свойство означает, что неоднозначность толкования записи ал­горитма недопустима.

  3. Результативность алгоритма. Под результативностью пони­мается доступность результата решения задачи для пользователя, иными словами, алгоритм должен обеспечить выдачу результата решения задачи на печать, на экран монитора или в файл.

  4. Массовость алгоритма. Это означает, если правильный ре­зультат по алгоритму получен для одних исходных данных, то правильный результат по этому же алгоритму должен быть полу­чен и для других исходных данных, допустимых в данной задаче.

  5. Эффективность алгоритма. Под эффективностью алгорит­ма будем понимать такое его свойство, которое позво­ляет решить задачу за приемлемое для разработчика время. К па­раметру, характеризующему эффективность алгоритма, следует отнести также объем памяти компьютера, необходимый для ре­шения задачи.

1.2.5. Виды алгоритмов и их реализация

Алгоритмы в зависимости от цели, начальных условий зада­чи, путей ее решения, определения действий разработчика под­разделяются на:

  • механические, или детерминированные (жесткие);

  • гибкие, или стохастические (вероятностные и эвристические).

Механический алгоритм задает определенные действия, обо­значая их в единственной последовательности, обеспечивающей однозначный требуемый (искомый) результат в том случае, если выполняются условия процесса, для которых разработан алго­ритм. К таким алгоритмам относятся алгоритмы работы машин, станков, двигателей и т. п.

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

Эвристический алгоритм (от греческого слова «эврика») — это такой алгоритм, в котором достижение конечного результата однозначно не определено, так же как не обозначена вся после­довательность действий. В этих алгоритмах используются уни­версальные логические процедуры и способы принятия реше­ний, основанные на аналогиях, ассоциациях и прошлом опыте решения похожих задач. При реализации эвристических алго­ритмов большую роль играет интуиция разработчика.

В программировании алгоритмы подразделяются на три типа:

  • линейный — набор команд (указаний), выполняемых после­довательно друг за другом;

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

  • циклический — алгоритм, предусматривающий многократ­ное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К цикличе­ским алгоритмам сводится большинство методов вычисле­ний и перебора вариантов.

Вспомогательный (подчиненный) алгоритм — алгоритм, ра­нее разработанный и целиком используемый при алгоритмиза­ции конкретной задачи.