ЗАЧЕМ учить АЛГОРИТМЫ СОРТИРОВКИ в 2020 году? TOP 10 САМЫХ ВАЖНЫХ СОРТИРОВОК за 20 минут
HTML-код
- Опубликовано: 9 фев 2020
- Проходи вступительный тест на курс
Разработчик C# otus.pw/zwMb/. Используй мой промокод BLOG_C#2020 для скидки. Записаться на вебинар "Нужно ли торопиться переходить на C# 7 или 8?", 14 февраля в 20:00 otus.pw/A52A/ Вебинар Всё о курсе «Разработчик C#», 20 февраля в 20:00 otus.pw/9Uey/
Сегодня я предлагаю тебе всего за 20 минут разобрать 10 самых важных алгоритмов сортировки, а также сравнить их между собой. Но для начала нужно ответить на ключевой вопрос: а зачем это вообще нужно в 2020 году? Внутри платформы .NET уже присутствует прекрасно работающая реализация сортировки, которая отлично справляется с этой задачей. Но не все так просто…
Но я могу привести тебе как минимум три весомые причины, почему алгоритмы сортировки остаются все еще актуальной и сейчас. Досмотри видео до конца, чтобы узнать о самых быстрых и важных алгоритмах сортировки.
2:48 - Пузырьковая сортировка - Bubble Sort - • Сортировка пузырьком (...
7:35 - Сортировка вставками - Insertion Sort - • Сортировка вставками (...
8:43 - Сортировка выбором - Selection Sort - • Сортировка выбором (Se...
9:21 - Сортировка Шелла - Shell Sort - • Сортировка Шелла (Shel...
10:09 - Сортировка деревом - Binary Tree Sort - • Сортировка деревом (Tr...
11:05 - Сортировка кучей - Heap Sort - • Сортировка деревом (Tr...
12:04 - Сортировка слиянием - Merge Sort - • Сортировка слиянием (m...
12:40 - Быстрая сортировка - Quick Sort - • Быстрая сортировка Хоа...
13:58 - Поразрядная сортировка - Radix Sort - • Поразрядная сортировка...
15:31 - Сортировка подсчетом - Counting Sort
РЕАЛИЗАЦИЯ ЭТИХ АЛГОРИТМОВ НА ЯЗЫКЕ C# доступна на GitHub github.com/shwanoff/SortAlgor...
ПОДРОБНЫЙ РАЗБОР ВСЕХ АЛГОРИТМОВ СОРТИРОВКИ НА C# • Алгоритмы сортировки. ...
Еще алгоритмы сортировки: algolab.valemak.com/
-----------
ПОДПИШИСЬ на соцсети:
🔴 TELEGRAM: bit.ly/tg_codeblog
🔴 VK: bit.ly/vk_codeblog
🔴 INSTAGRAM: bit.ly/inst_codeblog
🔴 Яндекс Дзен: bit.ly/zen_codeblog
🔴 FACEBOOK: bit.ly/fb_codeblog
🔴 TWITTER: bit.ly/twit_codeblog
🔴 Мой блог: bit.ly/site_codeblog
-----------
ПОДДЕРЖИ развитие CODE BLOG:
💲 Донат: bit.ly/donate_codeblog
💲 Спонсорство: bit.ly/patreon_codeblog
-----------
СМОТРИ мои обучающие курсы:
👉 УЧИМ ШАРП: bit.ly/cs_codeblog
👉 ПРАКТИЧЕСКИЙ ИНТЕНСИВ #1: bit.ly/fit_codeblog
👉 ПРАКТИЧЕСКИЙ ИНТЕНСИВ #2: bit.ly/crm_codeblog
👉 СТРУКТУРЫ ДАННЫХ: bit.ly/ds_codeblog
👉 АЛГОРИТМЫ СОРТИРОВКИ: bit.ly/sort_codeblog
👉 ОТВЕТЫ НА ВОПРОСЫ: bit.ly/faq_codeblog
👉 IT ПЕРЕОЗВУЧКА: bit.ly/resound_codeblog
👉 НЕЙРОННАЯ СЕТЬ: bit.ly/ai_codeblog
👉 ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ: bit.ly/pattern_codeblog
👉 CODE REVIEW: bit.ly/review_codeblog
👉 CLR via C#: bit.ly/clr_codeblog
-----------
Кстати, меня зовут Шванов Вадим, и я профессиональный .NET разработчик с 2011 года и автор этого канала CODE BLOG. Я рассказываю про IT технологии и веду абсолютно бесплатный курс по языку C# с нуля. В его рамках мы рассмотрим как базовый синтаксис языка C Sharp, так и его практическое применение и специальные технологии, такие как ASP .NET, .NET Core, ASP.NET MVC, Unity, WPF, структуры данных и алгоритмы, с#, dotnet, паттерны проектирования, информатика, csharp, программное обеспечение и многое другое. Для меня важно не только показать практическое применение языка си шарп, но и объяснить основную идею и базовые понятия Computer Science. В качестве основного инструмента разработки используется Visual Studio c# и проекты на Visual c#. Если вам нравятся такие каналы как хауди хо, айти борода или ExtremeCode, то здесь вам точно понравится.
-----------
#codeblog #программирование #csharp #ityoutubersru #программист
Подписывайтесь на канал, включайте колокольчик и поддержите развитие канала своим лайком. Это действительно важно для меня. А также не стесняйтесь задавать вопросы в комментариях.
Включайте оповещения о новых видео и прямых трансляциях прямо в личные сообщения ВКонтакте. Самый удобный способ не пропустить ни одного видео - подпишись на рассылку bit.ly/subscribe_codeblog
А для общения заходите в наши чаты:
Общий чат в телеграм: bit.ly/tg_chat_codeblog
Чат по C# в телеграм: bit.ly/csharp_chat
Чат в дискорд: discord.gg/EV2WdyP
2:48 - Пузырьковая сортировка - Bubble Sort - ruclips.net/video/PD1Nn4fHcts/видео.html
7:35 - Сортировка вставками - Insertion Sort - ruclips.net/video/lxB18bJjV-g/видео.html
8:43 - Сортировка выбором - Selection Sort - ruclips.net/video/TgltnegYRNs/видео.html
9:21 - Сортировка Шелла - Shell Sort - ruclips.net/video/y7OpyJPsnmA/видео.html
10:09 - Сортировка деревом - Binary Tree Sort - ruclips.net/video/suVMj0DLzFk/видео.html
11:05 - Сортировка кучей - Heap Sort - ruclips.net/video/suVMj0DLzFk/видео.html?t=3920
12:04 - Сортировка слиянием - Merge Sort - ruclips.net/video/T-SkvhcAXO4/видео.html
12:40 - Быстрая сортировка - Quick Sort - ruclips.net/video/fAQRcW78-_o/видео.html
13:58 - Поразрядная сортировка - Radix Sort - ruclips.net/video/RvXagBAbFBM/видео.html
15:31 - Сортировка подсчетом - Counting Sort
когда выпустил ролик ради рекламы...
У вас искривление клавы.
а у вас плоскоклавие
@@d7777p Клавиатуры под позвоночник подбирают?
@@user-jk3jy2up5j и под голову
Ура! Новый видос, удачного 2020ого!
Спасибо за видео, Вадим! Очень познавательно
С заготовленным сценарием у тебя получается лучше донести мысль до нас.
а последняя часть по нейронке будет?
Будет ли продолжение по паттернам?
Последняя сортировка лучшая сам ей ползуюаь.
Когда новый выпуск по CLR или эта тема уже закинута?
Пытаясь реализовать быструю сортировку из книги "Глокаем Алгоритмы" у меня получился алгоритм, который отбрасывает повторяющиеся элементы, оставляю только уникальные отсортированные значения, на всякий оставил на будущее, вдруг пригодится.
3:24 при такой формулировке, сложность bubble sort всегда O(N^2), потерялся преждевременный выход, если перестановок не случилось
Вот CODE BLOG - это лучший канал, который умеет так грамотно вставлять рекламу на 4 МИНУТЫ(скачайте RUclips sponsor block, спасёт вам часы жизни).
Приходят сюда маслята, которые всего лишь хотят узнать, зачем нужно так много алгоритмов сортировки, а тут им про переход с LTS на stable C# переходить учат.
как отсортировать список списков по количеству элементов в каждом?
Т.Е.
у меня есть List array.
и нужно что бы в списке array элементы отсортировались по убыванию количества их элементов?
лень писать для тебя код, скажу что твоя задача элементарная) используй List.Sort
@@yaroslavpy спасибо😂
Пузырьковая сортировка OneLove
Очень простенькая и доступная)
@@volynskaspeka9758 и медленная
@@Tezla0 да, но для простых задач сойдёт. А там можно уже quicksort сделать
Как по мне самые прикольные это insertion sort и selection sort. Вторая быстрее примерно в полтора раза, но в ней используются узакатели. Обе сортировки простые и понятные.
Так же супер быстрая сортировка это counting sort. Сортирует 100000 массив моментально. Из минусов, потребление памяти зависит от максимального числа, а так же количества чисел в массиве, т.к. в качестве ключа используется индекс, в моей реализации на cpp:
vector countingSort1(vector vect) {
int max = 0;
for (int i = 0; i < vect.size(); i++) {
if (max < vect[i]) {
max = vect[i];
}
}
vector counter(max+1);
for (int i = 0; i < vect.size(); i++) {
counter[vect[i]]++;
}
int index = 0;
vector sortedvector(vect.size());
for (int i = 0; i < counter.size(); i++) {
for (int j = 0; j < counter[i]; j++) {
sortedvector[index] = i;
index++;
}
}
return sortedvector;
}
⚠️ КАК ЭФФЕКТИВНО НАЧАТЬ ИЗУЧАТЬ С# ЧТОБЫ ХОТЬ ЧТО-ТО УЖЕ МОЖНО БЫЛО НАПИСАТЬ СПУСТЯ НЕДЕЛИ/МЕСЯЦ(Ы)?
ШИЛД. ПОЛНОЕ РУКОВОДСТВО С# 4.0 И ТРОЕЛСЕН С# 5.0 ПЛАТФОРМА NET 4.5 СЕЙЧАС АКТУАЛЕН? НА КОМ ОСТАНОВИТЬСЯ? ИЛИ ЛУЧШЕ КУРСЫ НА ЮТУБ? КАКОЙ ПОДХОД ИЛИ ПЛАН ДЛЯ ПОЛНОГО НОВИЧКА ИЗБРАТЬ?
Смотри все курсы на этом канале, и вместе с этим читай книги которые ты написал выше (они ещё актуальны ТК как основы теже) главное не ленись и учись каждый день, для начала хватит и часа, а потом уже увеличивайте количество времени на обучение, удачи! (Это мой личный опыт если что)
Если в вакансии по .net написано требование технического образования, то есть ли шанс устроится без него и стоит ли идти на собеседование если его нет?
Шанс есть всегда, но если прямо жесткое требование, то шанс очень маленький. Просто некоторые конторы не могут нанимать без образования (например, бюджетные организации). Их просто проверки с говном съедят...
@@CODEBLOG А как влияет подобное:
- учишься в универе на направлениях инф. мата
- учился, но не закончил в середине
?
@@MagdakEH никак не влияет. Образование либо есть, либо его нет. В большинстве случаев никто не будет вчитываться в твою личную историю и объяснения. Обычно сразу смотрят, есть какой-то диплом или нет. Если нет или не тот, то и читать дальше не будут.
Привет от Хауди)
Пхех ... Знал я несколько алгоритмов сортировки
Но случайно изобрёл что-то, что ещё и сортирует массив по ходу дела, хотя изначально я преследовал другие цели
Судя по тому что пишут в интернетах, очень похоже на то что описано в заголовке про сортировку Хэна
Но в деталях, сортировка Хэна - это какой-то рокет-сайнс (деревья, хэши, матан), в моей реализации всё сильно проще
Из этого видео, прослеживается что-то про сортировку подсчётом, хотя мой алгоритм по сути - не выполняет ни сортировок, ни подсчётов
Сортировка получилась "сама собой"
Перестановок тоже нет, лисапед мчит в несколько раз быстрее Quick Sort, по памяти предположительно 2n
Хорошее видео; скорость x1.5 - самое то
Спасибо за полезное видео!
Читал википедию, сделал страшную сортировку слиянием, но вроде неплохо работает: 100.000.000 чисел (любые числа uint) за 58,6 сек. Вроде неплохо)
да вы шутите это очень, очень медленно...
посмотрел у себя... тоже слияние то-же миллиард... на интеловском проце 2015 года это 3.3 секунды.
Привет, парень. Ты вроде опытный прогер, поэтому хочу тебя попросить, НОРМАЛЬНО объяснить, как делать парсеры(не selenium, windows forms) а например htmlagilitypack, anglesharp. Авторизацию через них и тп. Сделай видосы на счет этой темы
ага чтобы потом ботнет мамкиных хацкеров нам инет засрал) ну уж нет))
Привет, можешь как нибудь в одном из своих роликов написать пользовательский string???
Интересная идея :)
Прекрасная дикция!
Привет, недавно захотелось попробовать себя в среде программирования, и перешёл на ваш канал благодаря Хауди Хо.
Но дело в том, что у меня обсалютно отсутствуют знания по программированию, я хотел бы спросить, где можно научиться основам программирования видеоигр с нуля
Я в будущем буду делать видео уроки по unity, но это пока не скоро. А основам программирования можно научиться здесь, посмотри цикл уроков Учим Шарп
@@CODEBLOG спасибо
Что за клава?
Когда автор про квантовую сортировку заговорил на 16:06 у меня мозг расщепился на миллионы миров😀
Будет ли продолжение курсов по "Нейронной сети"?
А правда что если пишеш на Typscript то можно быстро освоить C#???
а правда что чтобы хорошо понимать и осознавать программирование нужно хорошо знать математику и профильную математику?
Ожидал ответ, о типе сортировки используемой в c#. Есть интересный момент, если сработает быстрая сортировка, то при одинаковых значениях, элемент может попасть в разные позиции. Т.е. если сортируем точки (1, 2) (1, 3) ... (1, N) и менно по первой координает, то в итоге может получиться (1, 2) (1, N) ... (1, 3)
На самом деле стандартная сортировка c# меняется в зависимости от количества элементов. Ну и ты всегда можешь переопределить интерфейс IComparable для того, чтобы твоя коллекция сортировалась так, как нужно тебе
Спасибо вам за ваши уроки благодаря вам хорошо усвоил алгоритмы сортировки и основы C#)
Вадим, качество контента заметно улучшилось
Про локальность не сказано.... а при титанических массивов только это и начинает иметь значение.... И всякие квик сорты (в меньшей степени) и радиксы (особенно) внезапно становятся неактуальными... очень локалена сортировка слиянием...
Подскажите маслёнку плиз, как понять эти алгоритмы и для чего они нужны, если я просто с поощью linq поставил order by и для меня вопрос сортировки закрыт. Для чего это всё??? Спасибо!)
Честно говоря не для чего просто ты должен знать
Спасибо!
Привет =) я от АйТиБорода.
Привет! Добро пожаловать :)
8:33 разве при оценке сложности константы учитываются? Разве есть такая сложность O(n^2/4)? Вероятнее всего правильно будет сказать O(n^2), т.к. 4 - это константа...
Комментарий для поднятия видоса в топы
Последний алгоритм очень интересный)
Знал примерно 4 алгоритма)
Спасибо за видос
У вас хороший контент. Но было бы гораздо лучше и удобнее, если бы видео были короткими. Либо хотя бы короче)
И вам легче и я думаю "выхлоп" больше будет для вас.
только 1, пузырьковый (bubble sort)
Топ клавиатура! особенно если переназначить джойстик на стрелки up/down, а стрелочки по ним - на left/right
Кстати да, хорошая идея. Нужно попробовать )
Сейчас как раз на фуллстек разработчика учусь. Очень полезные уроки! Спасибо!
Нашли работу ? Я тоже учусь интересно просто
@@my_name8372 как ни странно, судьба связала меня с разработкой иного рода)
VR и геймдев:)
@@victorbaykov9543 все равно, поздравляю. Я тоже начал изучать с# берюсь за что только могу )
На девятой минуте поставил на паузу и влепил диз. Потом почитал комментарии, досмотрел видео, прошел по ссылкам на раскрытие темы алгоритмов, подумал.. и поставил лайк.
Как там Европа, Вадим? Не загнила? Спасибо за видео, топ!
Да не, все норм. Не привычно конечно же только, но потихоньку осваиваюсь
Освежил память, спасибо, а по поводу рекламы она точно не пол ролика идёт, тем более перемотать можно...
Привет ребят, Вадим здравствуй! Кто-нибудь может подсказать канал по обучению UNITY , схожей с CODEBLOG ? Чтобы и информативно и понятно и весело... Заранее благодарю всех:)
Я не так близок к Unity, поэтому сложно что-то подсказать, но может быть кто-то подскажет, кто знает )
Роман Сакутин - GameDev
Роман Сакутин - GameDev
6:34, мда, профессиАнальный курс, а юзуют Manager. Без комментариев.
Модная клавиатура. Удобная?
Если привыкнуть, то да. Я выбирал не столько из-за моды, а потому что она эргономичная, руки меньше устают
Как же полно черт подери рекламы! Задрал со своими курсами, реферальными ссылками и остальной ...
Надо было надеть белый плашь, от сайтамы не отличил бы
эмм, я тут вообще ничего не понимаю. С какого видео начать?
С сначала курса про основу c#
Кто-то недоволен рекламой в ролике, но, как по мне, полезная реклама
почему так мало подписчиков? я буду учится програмировать! подписываюсь и ставлю лайк!
а что это такой за число "n" ? и как посчитать это n ?
Количество элементов в массиве.
Мой лайк 666й 🤣
Нихрена не понятно, но очень интересно.
Мне понравилось Бинарное дерево, было понятнее всего.
Про грудь огонь 🔥👍🔥🔥🔥🔥👍
Нас обманули, тут 17:34 видео идёт, расходимся...
Otus? Но ведь Otus - это дно, а не курсы. Пытался смотреть один из их курсов. Худшее из того, что я когда либо видел, если не считать Skillbox. На RUclips и то лучше найти можно.
логарифм n по основанию 2 а не наоборот))
17 минут видео, 10 реклама курса .....
Ужасно ....
Ха. Жив курилка )))
Етой клавиатурой кто-то играл в World of Tanks ?
Привет от Хауди Хо!
У тебя клавиатура согнулась. Кстати тебе идёт желтый.
Половина видео - навязчивая реклама. Ощущение складывается, что снимать было нечего, а выкладывать что-то нужно. Слабое видео
куча воды
Интересно, можно ли больше рекламы впихнуть в одно видео?
Палец вниз...
Думаю можно
Создать видео полностью состоящие из рекламы 😎
Не нравится, уходите
Человек снимает уроки, очень длинные, за которые люди обычно платят, а для нас снимает бесплатно, это занимает очень много его времени, и я не против смотреть рекламу хоть каждые пять минут, если я извлеку из этого пользу
@@valley527 такие же длинные и умные, как и твой комент? Ну и смотри, если ты олень.
А если автор стремится, чтоб на канале оставались не одни только олени, то количество рекламы лучше поубавить.
из 18 минут, 7 минут это реклама и бесполезный треп
Чтоб тупым йаваскриптером не стать.
Половина видео реклама. Чувак, ты просто мошенник. От твоего видео никто не получил пользы. Аудитория негодует, а рекламодатель теперь ассоциируется с негативной эмоцией. Алгоритмы ты вообще не объяснил. Просто набубнил текст
Я же в самом начале видео сказал, что это краткий обзор и сравнение. По самим алгоритмам есть подробные разборы и реализация их. Это скажем так вводное видео для тех уроков
Ну так выходи тогда с этого канала , он столько полезного материала сделал, что может хоть в каждом видео рекламу вставлять
@@andreymtrx8368 уже вышел. Сложно доверять разработчику, который настолько сильно зависит от копеек рекламодателя, что готов снимать любую дичь ради интеграции.
@@NVsquare Ты сейчас такой тупой доеб написал, без обид, но это правда бред. Он в начале сказал, что это просто обобщение. Подробный разбор алгоритмов сортировки присутствует на канале. А на счет рекламы, как указал челик выше, он оформил столько годного контента на безвозмездной основе, просто за ничего, а уровень этого самого контента там высокий ,при этом он еще и тратил свое личное время на то, чтобы ответить на вопросы, если после уроков тебе что-то непонятно. Я думаю, что этот человек заслужил хотя бы пару крошек хлеба за свой большой труд.
@@user-we5jm5mm7d со всем согласен. Заслужил достойной оплаты за профилный труд и благодарность комьюнити. Однако , мой спитч , затрагивал совсем другой аспект. Уважение это взаимный процесс. Публиковать видео, которое более , чем на треть не соответствует тизеру очень недружественный поступок по отношению к аудитории. Автор поступил вероломно, наплевал на личное время каждого, посчитав, что необязательно представить адекватной компенсации (в виде чуть более глубокого раскрытия темы алгоритмов, например) и просто прокатился на лояльности слушателя. Иными словами он просто продал уши подписчиков рекламодателю