Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин
День 1046. #Оффтоп
Доброй субботы, дорогие подписчики. Сегодня порекомендую вам полуразвлекательное видео для просмотра холодным зимним вечером (или днём). Олимпийские игры по сортировке. Участвуют 7 наиболее популярных алгоритмов сортировки в трёх дисциплинах:
- спринт (сортировка массива целых чисел от 2х до 11 элементов),
- средняя дистанция (от 60 до 250 элементов),
- марафон (от 100 тыс. до 200 тыс. элементов).
Участники:
- Сортировка выбором (Selection),
- Быстрая сортировка (Quick),
- Сортировка вставками (Insertion),
- Пузырьковая сортировка (Bubble),
- Поразрядная сортировка (Radix),
- Сортировка Шелла (Shell),
- Стандартная сортировка в C++ (STD) – функция sort().
Все алгоритмы обозначены разноцветными кружками, и проходят «трассу», где время, затраченное на достижение каждого следующего поворота, соответствует времени сортировки массива с определённым количеством элементов. Например, в спринте: от старта до 1го поворота – сортировка массива из 2х элементов, от 1го до 2го – из 3х элементов, и т.д., от предпоследнего до финиша – 11 элементов. В марафоне: от старта до 1го – сортировка 100тыс. элементов, от 1го до 2го – 110 тыс., от предпоследнего до финиша – 200 тыс.
Довольно увлекательное «соревнование». Интриги придаёт то, что автор не раскрывает, какая сортировка каким цветом обозначена, и предлагает вам догадаться.
Смотрим и «болеем»: https://youtu.be/FNAUuYmkMPE
Пишите в комментариях, сколько алгоритмов вы угадали.
Если покажется мало, вот серия из 3х видео, с объяснениями принципов работы алгоритмов:
- Часть 1
- Часть 2
- Часть 3 (пример на C++, и замеры времени такие себе, но, думаю, основной посыл будет понятен).