И почему это любят спрашивать на собеседовании. Приходишь такой на собеседование, а тебе говорят: «Расскажи про алгоритмы сортировок?» А зачем? А нельзя просто отсортировать и всё? Разбираемся. Что такое сортировка Сортировка данных — это когда мы их упорядочиваем по какому-то признаку. Например, в школе есть классный журнал, в котором все ученики отсортированы по фамилии. Или товары в интернет-магазине могут выводиться сначала дешёвые, потом дорогие. Или бывает сортировка товаров по популярности: используют внутреннюю переменную «популярность товара» и смотрят на её значение...
Статья подготовлена для студентов курса «Алгоритмы для разработчиков» в образовательном проекте OTUS. Когда люди изучают алгоритмы сортировок, у них часто возникает вопрос: а существует ли идеальный алгоритм, который может сортировать всё за линейное время или даже быстрее — за константное? Ответ: не существует и не может существовать. Почему? Предположим, у нас есть n-элементов (вектор), которые нужно отсортировать: а1, а2, …, аn. Любой алгоритм сортировки из любого входного вектора делает отсортированный выходной вектор...