|
Начнем с основного – видов алгоритма. Человек, едва родившись, уже сталкивается с алгоритмами типа "в бутылочку с кефиром влить пастеризованный охлажденный отвар из риса". Еще более четкие указания по изготовлению продукции содержит обыкновенный аптечный рецепт — в этом случае от точности выполнения алгоритма может порой зависеть жизнь пациента. Определенным алгоритмом действий "руководствуется" стиральная машина или микроволновая печь. Любому шахматисту известен способ, как поставить мат одинокому королю противника с помощью ладьи и своего короля. Школьный курс математики также предлагает большое разнообразие алгоритмов; умножение "столбиком" и деление "уголком", приведение к общему знаменателю. Описанные выше алгоритмы обычно принято называть "бытовыми". Кроме них, можно выделить еще три крупных разновидности алгоритмов: вычислительные, информационные и управляющие. Первые, как правило, работают с простыми видами данных (числа, векторы, матрицы), но зато процесс вычисления может быть длинным и сложным. Информационные алгоритмы, напротив, реализуют сравнительно небольшие процедуры обработки (например, поиск элементов, удовлетворяющих определенному признаку), но для больших объемов информации. Наконец, управляющие алгоритмы непрерывно анализируют информацию, поступающую от тех или иных источников, и выдают результирующие сигналы, управляющие работой тех или иных устройств, Для этого вида алгоритмов очень существенную роль играет их быстродействие, так как управляющие сигналы всегда должны появляться в нужный момент времени. Итак, всюду мы встречаем алгоритмы, но удивительным образом это изобилие не только не мешает нам, но, наоборот, ведет нас кратчайшими путями к решению наших проблем. Рассмотрим теперь, какими наиболее важными чертами обладает алгоритм. Начнем с того, что алгоритм использует исходные данные, перерабатывая которые он получает требуемый результат. Данное положение легко проиллюстрировать в виде следующей наглядной схемы. Таким образом, каждый алгоритм — это правила описывающие процесс преобразования исходных данных в необходимый результат. Заметим, что данное важное свойство в некоторых книгах приводят как определение алгоритма. Далее |
---|