49,1K подписчиков
И почему это любят спрашивать на собеседовании. Приходишь такой на собеседование, а тебе говорят: «Расскажи про алгоритмы сортировок?» А зачем? А нельзя просто отсортировать и всё? Разбираемся. Что такое сортировка Сортировка данных — это когда мы их упорядочиваем по какому-то признаку. Например, в школе есть классный журнал, в котором все ученики отсортированы по фамилии. Или товары в интернет-магазине могут выводиться сначала дешёвые, потом дорогие. Или бывает сортировка товаров по популярности: используют внутреннюю переменную «популярность товара» и смотрят на её значение...
2 года назад
878 подписчиков
Заметки: Эта сортировка намного быстрее сортировки выбором (когда делим пополам всегда). И используется во многих библиотеках (например, метод sort). Но и понять её гораздо сложнее. Тут уже прям придётся вникать. Сложность зависит от выбора опорного элемента. В худшем будет O(n^2). В лучшем и в среднем — O(n logn). Существует ещё сортировка слияниям и она по сложности примерно такая же. Тогда почему быстрая сортировка считается...
2 года назад
6K подписчиков
Статья подготовлена для студентов курса  «Алгоритмы для разработчиков» в образовательном проекте OTUS. Когда люди изучают алгоритмы сортировок, у них часто возникает вопрос: а существует ли идеальный алгоритм, который может сортировать всё за линейное время или даже быстрее — за константное? Ответ: не существует и не может существовать. Почему? Предположим, у нас есть n-элементов (вектор), которые нужно отсортировать: а1, а2, …, аn. Любой алгоритм сортировки из любого входного вектора делает отсортированный выходной вектор...
5 лет назад
528 подписчиков
Существует множество алгоритмов сортировки, и хорошо знать несколько из них, чтобы иметь возможность выбрать подходящий в зависимости от конкретной ситуации. Вот несколько ключевых алгоритмов сортировки, которые полезно знать: Это лишь несколько примеров алгоритмов сортировки, и существуют и другие алгоритмы...
1 год назад