Примеры задач, в которых применяют алгоритмы сортировки.
Упорядоченность данных часто важна в повседневной жизни.
В вашем смартфоне контакты отсортированы по алфавиту. Расписание автобусов составлено с учётом времени отправления. Поисковая система выдаёт ранжированный список ответов в соответствии с их релевантностью запросу.
Сортировать данные можно по разным критериям. Товары в интернет-магазине можно расположить по возрастанию цены или по популярности. Список дел на день можно записать в порядке, в котором вы планируете ими заниматься, или в порядке важности.
Многие компьютерные программы используют алгоритмы сортировки. Попробуйте зайти в консоль и вывести список всех файлов в текущей директории.
Это можно сделать с помощью команды ls для unix/macOS или dir для Windows. Результат будет отсортирован по алфавиту.
В целом на сортировку тратится бóльшая часть процессорного времени компьютера. Поэтому в задачах, где задействован этот алгоритм, важно применять эффективные методы.
Вы уже упорядочивали данные при решении задач. Скорее всего, вы делали это, применяя функции, встроенные в язык программирования. Действительно, основные алгоритмы сортировки уже реализованы.
Зачем тогда их изучать?
Не все алгоритмы сортировки одинаково хороши для конкретной задачи. Чтобы выбрать подходящий, важно знать плюсы и минусы каждого. Кроме того, нужно уметь изменять алгоритм под особенности задачи. Иногда вам придётся это делать.
К тому же, на собеседованиях соискателей часто просят решать задачи, связанные с алгоритмами сортировки. А иногда задают теоретические вопросы по этой теме.
В следующих уроках вы познакомитесь с основными алгоритмами сортировки. Изучите характеристики их эффективности по времени и памяти. Узнаете, какие ограничения есть у каждого алгоритма.