
1. Алгоритмы. Основные определения и свойства.
Алгоритм — это последовательность четко определенных инструкций, предназначенных для решения некоторой задачи.
Свойства алгоритмов :
1.Каждый шаг алгоритма должен быть четко и однозначно определен.
2.Должны быть точно указаны диапазоны допустимых значений входных данных, которые обрабатываются с помощью алгоритма.
3.Один и тот же алгоритм можно представить несколькими разными способами.
4.Для решения одной и той же задачи может существовать несколько разных алгоритмов.
5. В основу алгоритмов для решения одной и той же задачи могут быть положены совершенно разные принципы.
Основные методы разработки алгоритмов:
1.метод грубой силы
2.поиск с возвратом
3.уменьшение размера задачи
4.декомпозиция
5.преобразование
6.жадные алгоритмы
7.итеративное улучшение
8.динамическое программирование
9.метод ветвей и границ
Эффективность алгоритма - важная ее характеристика, имеет две составляющие: 1.Пространственная эффективность измеряется количеством памяти, требуемой для выполнения программы.
2. Временная эффективность программы определяется временем, необходимым для ее выполнения.
Типы алгоритмов:
1.Линейный (последовательный) - описание действий, которые выполняются однократно в заданном порядке.
Циклический— описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.
2.Условие — выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» или «ложь».
Разветвляющийся алгоритм —в зависимости от условия выполняется либо одна, либо другая последовательность действий.