Удобная навигация по видео :) 0:00 - Начало 0:41 - Смысл алгоритмов сортировки 1:22 - Виды алгоритмов сортировки 2:59 - Тони Хоар - автор алгоритма QuickSort 3:57 - Разделяй и властвуй 4:49 - Концепция алгоритма QuickSort 6:05 - QuickSort в действии 8:40 - Оценка сложности алгоритма QuickSort 11:01 - Реализуем алгоритм на языке программирования C# 20:27 - Завершение
@Spa1ke3 жыл бұрын
За навигацию отдельный плюс видео
@MariMaxVR2 жыл бұрын
Было бы отлично от вас получить полный курс по C# от новичка до профессионала, будь он хоть платный я бы хотел у вас учиться.
@PAPAKOTT3 жыл бұрын
Выши ролики , это результат огромного труда. Спасибо за это. Очень понятно, доступно и красиво ))). Большое спасибо, ещё раз.
@codaza-channel3 жыл бұрын
Благодарю за тёплый комментарий 🙂 Читая такие комментарии, понимаешь что нужно создавать ролики дальше.
@anonim63642 жыл бұрын
зачем я это под ночь посмотрел,теперь весь сон буду обдумывать, а так codaza огромное спасибо
@GGFXRDR Жыл бұрын
обьяснил лучше чем другие ютуберы по этой теме, респект
@chinchilla8983 жыл бұрын
Отличный и доступный формат. Ждём новых роликов. Спасибо!
@ym1288 Жыл бұрын
вернулся через год чтобы пересмотреть и повторить. супер объяснение :)
@marksreider76453 жыл бұрын
Спасибо за хорошую подачу материала!
@4spor_t6 ай бұрын
Автор, ты крут! Ждём ещё видео про алгоритмы и структуры данных в С#. Было бы очень круто узнать именно из ваших уст про тонкости данного языка
@overhealer12 жыл бұрын
Не совсем понятный нейминг в коде, вроде переменная пивот, но в ней хранится самый младший элемент, а сам пивот это array[maxIndex]. А в целом видео супер, спасибо!
@МаксимМакаров-л5т3 жыл бұрын
наконец-то попали в мои рекомендации. Спасибо - незаюзанный контент. Спасибо что показываете как код получается на основе черновых набросок а не словно с листка чистовик переписан.
@codaza-channel3 жыл бұрын
Благодарю за комментарий. Надеюсь, информация была полезной 🙂
@Alex_Beck2 жыл бұрын
Действительно очень крутая подача!!! Звук, музыка, Анимация. Самое главное очень доходчиво ! Искал сортировку, подписался! Спасибо за видео))) Ждем еще контент! БОЛЬШОЕ спасибо!!!!!!!
@nikolayvalchanov56863 жыл бұрын
Спасибо за труд. Очень помогаеш! Продолжай пожалуйста и не забрасывай!
@codaza-channel3 жыл бұрын
Благодарю! Очень рад, что контент помогает 👍
@MrUserNog3 жыл бұрын
О, круто, спасибо! Вы разъяснили именно те моменты которые я не понимал.
@antonduschak66412 жыл бұрын
Спасибо большое, очень полезное видео. Долго не мог понять
@ЯнаГончарова-ф5с3 жыл бұрын
Отличное видео! Ждём новых роликов)
@codaza-channel3 жыл бұрын
Спасибо за комментарий. Впереди много интересного 🙂
@johndoe4016qweasd2 жыл бұрын
это просто охренеть насколько крутые видосы (говорю про весь плейлист "Тут станет понятно")! Очень жаль, что забросили по всей видимости(
@kokon2312 жыл бұрын
Очень хорошее объяснение. Спасибо!
@dunnoqwe Жыл бұрын
Спасибо большое! Хотелось бы увидеть видео про другие алгоритмы и структуры данных. Удачи!
@Миша-я4ш4оАй бұрын
Понравился разбор сортировки. Посмотрел бы от тебя другие сортировки
@vladislavdenisenko75873 жыл бұрын
Спасибо большое за видео!
@behemoth16219 ай бұрын
Как и все другие материалы просто шикарны. А есть надежда что будет продолжение канала?
@ym12883 жыл бұрын
как же круто объяснил!!!
@Alkain18 Жыл бұрын
Шикарное видео! Спасибо!
@cryptonewsen13 жыл бұрын
спасибо, очень полезное видео.
@codaza-channel3 жыл бұрын
Благодарю за комментарий. Рад, что информация оказалась полезной 🙂
@Spa1ke3 жыл бұрын
Нужна сортировка одно-, двух-, трёхмерных массивов, было бы полезно посмотреть такое видео
@Дима-г9х6п3 жыл бұрын
Деревья выражений было бы интересно посмотреть.
@elmiravzalov57822 жыл бұрын
Очень хорошо объяснил. Если есть видео про ret и рекурсию, то можно вставить ссылки
@АлексейУткин-м4з2 жыл бұрын
Упаковка обмена элементами в метод Swap и передача параметров по ссылке, ухудшает производительность быстрой сортировки. Сделал обмен без передачи по ссылке одним блоком кода, сделал серию тестов. Итог передача по ссылке замедляет сортировку на 10 -15%. при сортировке массива на миллион элементов.
@VitVit3123 жыл бұрын
Я: Не могу понять, когда ютуб уже сообразит и начнёт тебя продвигать Ютуб: трясите задом и пускайте цветные сопли !
@codaza-channel3 жыл бұрын
Да, ютуб имеет свои представления)) Спасибо за комментарий, это точно оказывает положительное влияние на продвижение 🙂
@PeterCargo Жыл бұрын
С 15 минуты по 17 нет звука. А кажется, что там могли быть полезные комментарии по реализации.
@vladislavrazgulyaev29673 жыл бұрын
привет! расскажи про ENUM....
@hovikkirishchyan7640 Жыл бұрын
@codaza-channel Объясняешь очень хорошо, но есть деталь, в данной реализации быстрой сортировки выбор опорного элемента не происходит случайным образом. Выбор опорного элемента может действительно повлиять на производительность алгоритма быстрой сортировки. Выбор неэффективной стратегии опорного элемента может привести к плохой производительности, особенно в случаях, когда массив уже отсортирован или почти отсортирован. Например, если опорный элемент всегда выбирается как первый или последний элемент массива, и массив отсортирован по возрастанию или убыванию, комплексность быстрой сортировки может ухудшиться до O(n^2) вместо среднего случая сложности O(n log n).
@Олег-ц2и5п Жыл бұрын
Я буду прав, если скажу, что на 36 строке (for (int i = minIndex; i < maxIndex; i++)) вместо "
@dad912 Жыл бұрын
очень просто .....спс
@Дмитрийсекрет-н7о3 жыл бұрын
А делегаты, события, интерфейсы, IoC и другие страшные вещи разбирать будите?
@codaza-channel3 жыл бұрын
Да, думаю, обязательно поговорим об этом на канале 🙂
@shurale853 жыл бұрын
ну это далеко не страшные вещи)) куда интереснее tpl, valoltile, Expression
@alexazimov4202 жыл бұрын
Увеличить скорость можно параллельными процессами.
@caeswr3 жыл бұрын
супер полезное видео и так мало просмотров
@codaza-channel3 жыл бұрын
Благодарю за комментарий и рад, что информация из ролика оказалась полезной 🙂
@Brometey2 жыл бұрын
Я не совсем понимаю, каким образом мы получаем индекс пивота, есть ли какая-нибудь статья, которую можно прочитать повнимательней ?
@codaza-channel2 жыл бұрын
Более основательно Вы можете ознакомиться с алгоритмом быстрой сортировки на wikipedia: en.wikipedia.org/wiki/Quicksort#:~:text=Quicksort%20is%20a%20divide%2Dand,sometimes%20called%20partition%2Dexchange%20sort. Вот тут еще достаточно подробно демонстрируются шаги реализации алгоритма: www.programiz.com/dsa/quick-sort
@sergeyz.58452 жыл бұрын
По сути мы просто сравниваем все элементы в заданном массиве с последним элементом. И если эти значения меньше или равны последнему элементу, то они перемещаются на позиции перед теми, которые оказались больше последнего элемента. Последний элемент тоже переместится, так как он равен по значению самому себе. Происходит это так: берем элемент, если он меньше или равен последнему, то пивот теперь становится на первую позицию(условно - граница между элементами, которые меньше и больше последнего) Берем второй элемент, например, он оказался больше. Тогда пивот остается на своем месте. И мы уже имеем два отсортированных элемента (второй элемент точно больше первого - мы это проверили). Дальше третий элемент, к примеру, меньше или равен последнему, тогда мы меняем местами второй и третий элемент, потому что второй точно больше третьего(мы это проверяем относительно значения в последнем элементе массива). И таким образом доходим до конца. Последний элемент наконец займет позицию пивота, тк он проходит по условию и равен самому себе.
@sergeyz.58452 жыл бұрын
Здесь одновременно происходит поиск пивота и перемещение элементов
@СергейПетров-е5ы2п6 ай бұрын
А зачем он нужен, если деградирует по скорости до n^2 в худшем случае, плюс неустойчив, требует доп. памяти как и слиянием, и придуман позже сортировки слиянием...? Да, еще требует отдельного алгоритма поиска опорного элемента.
@ВладиславБезуглый-ь2к2 жыл бұрын
Есть вопрос , зачем результат метода "GetPivotIndex" помещать в переменную соответственно зачем его возвращать. У меня эта функция прекрасно работает с значением void без return pivot; и переменной в которую оно возвращаеться . Я что-то упускаю или это просто для наглядности ?
@Олег-ц2и5п Жыл бұрын
В методе QuickSort происходит ветвление. дикое ветвление)) и для того, чтобы для каждой веточки была своя переменная pivotIndex, метод GetPivotIndex должен её возвращать. Я так понимаю. Но на дебаге этот вопрос не тестил.
@sawa1976 Жыл бұрын
Дико извиняюсь за занудство, но разве цикл не лучше сделать до maxIndex -> for (int i = minIndex; i < maxIndex; i++), один цикл и лишнее сравнение можно сэкономить.
@dad912 Жыл бұрын
кстати если реф не ставить - метод сорт будет менять свои значения значения переменных а не значения в массиве - так что работать програмка не будет(((
@robles21452 жыл бұрын
6:26 важный шаг для понимания алгоритма просто упущен
@codaza-channel2 жыл бұрын
Какой?
@stibushix4779 Жыл бұрын
Наверное тот при котором последний элемент массива оказался сразу на своём месте, под индексом 2. Думаю для наглядности "6" надо было поместить в произвольном месте но не на 3 позиции (индекс 2)@@codaza-channel
@1ncludecpp6562 жыл бұрын
Пива захотелось
@codaza-channel2 жыл бұрын
🍺
@alexsoft9992 ай бұрын
знак $ пишется слева цифры
@syrymjoli2 жыл бұрын
codazaaaa!) почему аза?) вы наверно уже гдето уже отвечали сори лень искать)
@codaza-channel2 жыл бұрын
Это вам Хокку на ночь 😉
@Moraru19922 жыл бұрын
🤗
@codaza-channel2 жыл бұрын
😉
@juliusmalkov96202 жыл бұрын
ох как ускользнуло - вообще ничего не понял! Что он такой сложный то в понимании!
@codaza-channel2 жыл бұрын
Попробуйте посмотреть альтернативные источники. Например, на Wikipedia дано достаточно подробное описание: en.m.wikipedia.org/wiki/Quicksort
@ivanlemming58212 жыл бұрын
Вы уверены что у вас график логарифма правильно построен?
@codaza-channel2 жыл бұрын
Да. Вас что-то смутило? Взгляните на эту картинку, возможно в сравнении с другими вариантами картина станет яснее: studiousguy.com/wp-content/uploads/2021/06/Complexities-Graph1.png
@dm1tttry2 жыл бұрын
Приходиться ставить скорость 1.25, ну очень медленно говоришь
@codaza-channel2 жыл бұрын
😥
@dm1tttry2 жыл бұрын
@@codaza-channel Извини если расстроил, по контенту все отлично, ты хорош! Наверно, медленная речь стала заметна после твоих Shortов, где ты за 30 секунд излагаешь быстро какую-то тему :)
@bltvg Жыл бұрын
Я всё надеялся увидеть реализацию без выделения дополнительной O(n) памяти. Но не увидел. В это вся сложность алгоритма.
@olegpol14402 жыл бұрын
Мало что понятно, просто дублируете код словами не объясняя сути алгоритма
@codaza-channel2 жыл бұрын
Видимо у меня не получилось раскрыть суть алгоритма для вас. Так или иначе, попробуйте посмотреть альтернативные источники. Я могу предложить вам интересную статью, где алгоритм объясняется достаточно подробно: towardsdatascience.com/an-overview-of-quicksort-algorithm-b9144e314a72 Надеюсь, статья окажется более информативной, чем мой вариант изложения. Не стесняйтесь задавать вопросы 🙂
@olegpol14402 жыл бұрын
@@codaza-channel Спасибо, может вернусь к этому видео позже
@Русь-Родина2 жыл бұрын
Самый быстрый алгоритм упорядочивания массивов разработан мной, только об этом почему-то помалкивают. Я же никто! )) Это только они, вченные, что-то там самое лучшее разрабатывают, а мы типа неспособны и нам не дано. И да, так называемая сортировка пузырьком является частным случаем моего алгоритма сортировки и задействуется в самом конце, когда пару элементов находящихся рядом надо переставить местами. При этом не нужно перебирать весь отсортированный массив, как может показаться знатокам алгоритма сортировки пузырьком. Невозможное возможно. Хоар курит бамбук со своей быстрой сортировкой. Русские способны создавать лучшее. Лишь бы не мешали им создавать эти типа самые умные это лучшее. Свое ценить надо, а не перед иноземным пресмыкаться. На Масковии не самые умные живут. Доказано практикой жизни.
@кирилля-ф9ж Жыл бұрын
а код можно ?
@Русь-Родина Жыл бұрын
@@кирилля-ф9ж Только за деньги! И так всю жизнь за спасибо проработал и живу как бомж. Разрабатывайте сами, если сможете.
@MysticalTokarev Жыл бұрын
@@Русь-Родина Тогда грош цена твоему алгоритму, бомжара. ^__^ Хоар рулит!
@Русь-Родина Жыл бұрын
@@MysticalTokarev Пусть рулит. Только лучшим он от этого не становится.
@ВоваТарковский-я2с3 ай бұрын
@@Русь-Родина Если бы ты хотел, чтобы о твоём алгоритме говорили, то ты бы его распространял (сам выше сказал, что "почему-то о нем все помалкивают"), сейчас "только за деньги" звучит как откровенный обман (т.к. доказательств обратному нет).
@Русь-Родина2 жыл бұрын
Про сортировку таблиц (массивов массивов) ничего не сказано. Эта тема достойна внимания! Не говорите только, что такого алгоритма нет. Хоар в этой сортировке со своей сортировкой точно курит бамбук.))