Что такое алгоритмы и какими они бывают
Итак, что такое алгоритм. Если не уходить в различные научные суждения, то алгоритм - это определенная пошаговая закономерность действий, будь-то в жизни, будь-то в программировании, которая ведет в выполнению определенного задания. Наверное, по "сухим" определениям не всегда понятна суть, поэтому рассмотрим понятие алгоритма на примере.
Например, задание из жизни: процесс заказа и доставки пиццы. Расписываем работу алгоритма:
- Оператору по телефону, либо через интернет поступает заказ.
- Получив заказ, оператор оформляет его и передает в цех по выпечке.
- Пицца готовится и упаковывается.
- Когда выпечка окончена, мастер цеха сообщает оператору о готовности заказа.
- Оператор ставит заказ в очередь на доставку.
- Свободный развозчик пиццы получает заказ и доставляет его по указанному в заказе адресу.
- Заказчик получает свой заказ, расписывается о получении и оплачивает.
Примерно вот такими последовательными действиями описывается работа алгоритма "заказа и доставки пиццы". В программировании происходит нечто подобное, разве что описываются все эти алгоритмические действия путем работы с переменными и операторами, управляющими ими.
На страницах моего сайта описывается работа основных алгоритмов сортировки и поиска, которые являются базовыми в программировании, будь-то на каком языке разработки.
Для чего служат алгоритмы поиска? Представьте себе такую ситуацию, что на переговорочном пункте есть электронная телефонная книга, в которой есть большое количество номеров. Естественно, что список номеров, обычно, сортируется по каким-либо параметрам, например, по фамилии абонентов. Но сортировать, а затем вручную искать не всегда удобно, проще ввести через специальную форму поиска фамилию нужного абонента и выполнить поиск. В случае, если будет найдено соответствие, программа даст об этом знать и покажет искомый телефонный номер. Алгоритмов поиска существует немалое количество, основные из них это линейный, двоичный поиск и так далее. В моих примерах, демонстрирующих работу алгоритма поиска, поиск выполняется в массивах чисел. Разобрав его работу, его можно применить к чему угодно, в частности, к телефонной книге, рассматриваемой выше. Все вышесказанное можно применить и к сортировке.
Для чего служат алгоритмы сортировки? Довольно часто нужно какую-либо информацию сортировать. Например, зарплаты сотрудников, чтобы знать, кто больше зарабатывает и кто меньше. Применительно к числам, сортировка, обычно, выполняется по возрастанию, либо по убыванию. Применительно к словам, по алфавиту. Кстати, о сортировке по алфавиту упоминалось в разговоре о телефонной книге.
Надеюсь, что общий принцип работы вам понятен. Если вас интересует программирование и алгоритмы, то буду рад вашему визиту на свой сайт, посвященный основам программирования для начинающих.
Автор: Козицкий Антон (http://iguania.ru)