Есть сортировки способные рассчитать предполагаемое место элемента в массиве, хотелось бы услышать о таких сортировка тем более что о них почти нигде нет информации
Лет 20 назад придумал свою быструю сортировку, записал на бумажке, тогда компа у меня не было. Потом он появился, но я про это забыл, несильно давно всё таки решил реализовать алгоритм, получилось. Но скорость поначалу уступала квику, но после оптимизаций удалось сделать более быструю сортировку. Я так же добавил для маленьких частей массива обычный пузырёк, где-то на 7 элементах, и это заметно ускорила сортировку. Преимущество пузырька, что код очень простой, и с маленькими массивами работает весьма быстро.
@@kemencryptocode суть как раз в исходном комментарии. Человек выше пишет, что он без видео на этом канале не понимал алгоритмы и прочее темы которые подымались на этом канале. Это базовые знания, которые проходятся в школе. А алгоритмы вообще не требуют изучения, а требуют понимания, если человек мнит себя хоть каким-то программистом, я думаю он нашел бы уже материал о том какую логику используют сами алгоритмы. А суть моего комментария в том, что не нужно ждать пока тебе принесут на блюдичке разбор базы, иначе потом ты ничего не сможешь делать сам
@@ЦветущаяСакура-ъ7фа чье еще если не мое?) Может день тогда был не из лучших, может башка кипела уже от других вопросов, я уже не помню. Но во второй раз всё зашло спокойно.
Спасибо! Смотри уже видео 7-ое без остановок - повторяю каждый новый для себя алгоритм. Мне как новичку в этой деятельности твой канал ОООчень сильно помогает. И несмотря на то, что я не особо увлекался историей программирования, твои видео по истории также очень сильно привлекают.
Лучшее что видела на ютубе!!! По ним можно учиться, повторять, вспоминать. Лучше всего, что показывается не как у большенства на питоне примеры, а на С подобном языке! Ты лучший!!!
В целом видео хорошее, но, довольно, сложно объяснил сортировку Хоара, можно было так: 1. Выбираем случайный элемент, если элемент всего один, то возвращаем его. 2. Выбираем в 2 массива элементы меньше и элементы больше текущего. 3. Рекурсивно вызываем функцию, передавая массивы и переходим в пункт 1.
Смотря RUclips и изучая все каналы по теме "Программирования" я нашел тот, который заслуживает внимания для просмотра. Причем информация не простая, но ты делаешь не простые вещи понятными и доступными. Я уже подумал что "Сумасшедшие" и те, которые хотят разобраться в работе того что изобрело человечество вымерли. Как ты говорил: Программирование - это искусство", а для кого программирование это деньги, просто не понимают что они гниют и деградируют в этом мире.
бредятина про деньги, ты сам то будешь за 20к рублей выполнять обязанности сеньера помидора в госконторе? или это другое? да и искусство всегда имеет цену
Либо у человека могут быть совсем другие интересы, а программирочание хороший способ обеспечить себя, свою семью и саму возможность заниматься чем-то другим.
Я ничего из этого не отрицаю, ведь правда, искусство тоже ценится, но если художник работает только из за денег, можно ли его считать ценителями искусства? Не знаю. Скорее это проходные люди которые будут пахать и работать что бы прокормить себя и свою семью...
Навеяло... Вспомнил, как в школе в 90-х преподавал информатику. Тогда давали два алгоритма пузырёк и замена. Ещё был метод Шелла. Компьютер был 486, 66 мггц... Массив из 30 000 элементов пузырьком сортировался чуть ли не 30 минут... А методом Шелла за 7 секунд... Я ученикам показывал на этом примере.... Что нужно учится.
в книге Грокаем алгоритмы - Адитья Бхаргава есть приведённые алгоритмы сортировки, и объясняется проще на пальцах. Здесь в видео уж очень всё разжёвывается и очень мудрено рассказывается, я на быстрой сортировке чуть мозг не сломал, хотя это простейщий алгоритм: разделить массив на две части, выбрать опорный элемент,, применить рекурсивно функцию сортировки к двум подмассивам (которые больше и меньше опорного). Всё. стрелочки какие-то... туда идти, сюда не идти... зачем столько сложностей?
Фраза "применить рекурсивно функцию сортировки к двум подмассивам" далеко не для каждого покажется проще чем визуализация стрелочками. Все по разному воспринимают информацию, для вас вот проще видимо текстовое описание
Как раз таки в Грокаем алгоритмы приведена самая простейшая реализация быстрой сортировки, потому что бОльшую часть работы за тебя делает именно пайтон) Попробуй сделать так же например в Си и внезапно возникнут вопросы: "а как получить подмассив? а как их конкатенировать?" И даже если ты найдёшь ответы на них, твоё решение будет суууупермедленным, потому что в каждом рекурсивном вызове ты будешь по нескольку раз маллочить кучу памяти.
Так я книгу тоже читал но после этого видео понял что там приведены только те примеры и выбраны только те опорные точки где левый подмассив будет с числами меньше опорного а правый с числами больше опорного но про то что числа нужно будет менять местами чтобы левый и правый подмассивы были больше и меньше я ничего не слышал и не читал
Алек, спасибо за видео очень радует твой контент. Я даже и не знал что сортировка Хоара на бумаге так сложна на деле просто пишешь код который уже как вы учёный и даже не задумываешься о том как это работает под капотом и именно за то что ты раздвигаешь для меня и других неким слои абстракций я тебя люблю)
Сортировка слияниями сделала для меня Хорара неактуальным - всегда логарифм а памяти не жалко Потом я узнал что есть поразрядная взял разряды по 2 в 16 степени - и получил почти линейное время (для дробных можно домножить на на нужную точность чтобы не потерять разряды) Строки вообще всегда за чисто линейное время сотрируются - просто пишется бор (много памяти - пишите сжатый бор, большой алфавит - пишите map в переходах тогда будет логарифм размера алфавита как множетель во времени)
В VBA нет сортировки и в свое время пришлось освоить эту технологию. Для меня стало реальным открытием что быстрая сортировка реально быстрая но жрёт стек.
Мне нравятся еще алгоритмы поиска подстроки в строке. С ходу выглядят сложно, но когда разберешься становится понятен принцип. Можно наглядно визуализировать. Стоит сделать на эту тему ролик. Ну и вообще визуальный разбор работы популярных алгоритмов - крутая штука.
Спасибо. Я практически педагог информатики и мне нравится Ваш канал, всё очень информативно. Да, со многим знаком, но не менее интересно становится смотреть. Ждём продолжения.
продолжай в том же духе! это только начало разбора темы алгоритмов :) алгоритмов бывает много, разных, для решения разных задач. Из этого можно сделать целый плейлист! Думаю что будет очень интересно. Побольше бы такого качественного контента, визуал видео симпотичный и понятный.
оптимизация классической пузырьковой - хороша. Сортировка вставками - не нужно перелопачивать отсортированую часть массива каждый раз, нужно найти место и туда вставить очередной элемент (переместив элементы на 1 шаг вправо) , как в картах на руках. Потом можно оптимизировать - использовать двоичный поиск. ускорить
и начинать бы стоило вообще с объяснения что такое О-большое, и как рассчитывается скорость алгоритма. Ну это так, на всякий. Потому что если бы я не знал, то для меня эти формулы в примерах (таблицы сравнения) были бы пустой информацией. А "программистов", которые не отличают линейное время от логарифмического к сожелению много.
помню как раз сам придумал сортировку пузырьком, даже не знал, что такая есть, потом сам же забыл как я это придумал, пришлось гуглить какую нибудь сортировку, в итоге нашел ровно мою идею и сам вспомнил. идея пришла спонтанно и через время ушла. надеюсь я не отупел)
Мне очень нравятся твои видео потому, что видно что они сделаны педантичным человеком: всё так красивенько, практично, понятно визуализировано. Это я заметил только сегодня, после просмотра трёх видео (просто как-то давно мне не рекомендовались). И вот это уже пятое видео подряд, и я заметил как в 22:55 в ячейке количества перестановок отсортированного методом Ломута массива не закрыта скобочка 😅, очень забавно увидеть это после того, что я начал замечать, на сколько мне нравится подача (аудио и видео). Но я в любом случае люблю твои видео, пусть и скобочки нет 👀, они всё равно очень классные
Эти алгоритмы красноглазики писали когда 640кБ достаточно было всем. А сейчас можно просто создать новый массив и скопировать в него отсортированные данные за N/2 проходов. А еще лучше сортировать в связных списках или базой SQL.
все-таки в качестве опорного брать не средний элемент, а медиану между первым, средним и последним, это позволит избежать снижения эффективности на краевых случаях.
прогоняем весь массив и находим максимальное число, запускаем цикл от 0 до этого числа. в процессе сверяем счетчик массива со всеми числами, при совпадении перемещаем число в новый массив. т.к. в цикле идет числовая последовательность, то и числа в исходном массиве станут как надо.
@@ДмитрийАлексеев-ш2з в любом случае все значения придется сравнивать с эталоном. в циклах есть функция пропуска значений для ускорения их работы. к слову, массивы на подобии твоих значений легко сортируются через мин/макс, не методом поплавка.
Я то думал, что берем первое значение, и гоним его через весь массив, в попытке найти значение поменьше, попутно запоминая максимально близкое к минимальному значение, их местоположение чтобы больше там не смотреть, и количество дубликатов, создавая новый массив. Но важно помнить, что даже самая простая операция обязательно сожрет такты, поэтому скорость зависит даже от того КАК ИМЕННО вы расположили операторы И ГДЕ.
Здорово! Как и везде всё начинается с пузырька! :-) \ Давайте начнём писать проект который будет выявлять рекламу и перепрыгивать (отключать) её - это будет супер плагин который будет потом стоять на всех устройствах мира ))) \
AlexOS, как всегда - лучший, смотрю с 700 подписчиков. Контент только растёт, прекрасное подспорье для начинающего (меня), много полезного кратко и на русском. БОЛЬШОЙ ЛАЙК! (ПС Забыл дописать это к прошлому комменту)
скорее всего я оч тупой, ноо..... Я кучу раз пересмотрел момент с сортировкой хоара и кое как написал код на плюсах, но для меня этот код это какая-то магия хввхвх
13:30 почему указатели остановились на семёрке и тройке? Они же не равноудалены от концов массива. Ведь по твоей логике и коду left++, right-- должны были сравниваться семёрка и четвёрка
Отличный материал и визуальная подача. Однако я настоятельно рекомендую расширить диапазон дикторских приёмов. Пауза с приглушением слова/выражения в конце блока - это акцентирование внимания на этом слове/выражении как на ключевом, с последующей "точкой".. и паузой на подумать как именно оно характеризует предшествующий блок информации. У вас слишком часто и совсем не редко этот приём просто неуместен. Из-за этого само повествование рвётся в неожиданных местах, заставляя постоянно фокусировать на конце предложения, где нет ничего, что стоило акцентировать. Сильно мешает восприятию.
Всегда красивые проработанные анимации, всё очень гладко рассказывается. Это несомненно хорошо, но в какой-то мере усыпляет внимание зрителя. Иногда корявые объяснения с "ну это, кароч, как его..." в шипящий микрофон лучше откладываются в памяти. А это скорее для эстетического удовольствия тем, кто уже разбирается в вопросе.
Сортировка вставками смущает. В видео выглядит, как пузырьком. Я реализовал ее через доп.переменную в которой храню значение текущего элемента (который буду ставить на свое место). Указатель идет по списку и сравнивает текущий элемент с каждым предыдущим элементом. Каждый элемент с которым сравнил в случае, если текущий меньше копирую в соседнюю ячейку справа (смещаю на +1), соответственно в списке становится у одного элемента временно индексы j и j+1. Как только найдется элементь, который больше текущего, ставлю текущий на j+1. В итоге получается не обмен местами у соседних элементов, а именно вставка со смещением всех больших текущего элементов. Промежуточные состояния списка также меняется постоянно: ar = [0, -5, 2, 1] ar = [0, -5, 2, 2] ar = [0, -5, 1, 2] и т.д. На питоне так реализовал: def insertion_sort(array): for i in range(1, len(array)): key = array[i] j = i - 1 while key < array[j] and j >= 0: array[j + 1] = array[j] j -= 1 array[j + 1] = key return array
19:49 почему правый указатель не сдвинулся (на подмассиве 9 5 7)? while(arr[right](7) > pivot(5)) right--; в скобках написал значения. 7 > 5, следовательно сработает right-- и right станет указывать на опорный. Потом сработает перестановка и получится 5 9 7. Затем будет сортироваться подмассив 9 7. Они свапнутся, получится 7 9. В итоге подмассива 9 5 7 все равно отсортирован (сортировка работает идеально), но немного не тем путём, как показано в анимации
По моему мнению, в сортировке выбором необязательно утверждать, что все элементы, подходящие по условию помещаем в левую часть. Например, я лично при сортировке выбором наоборот в конец ставлю, чтобы потом уменьшать длину с помощью среза, а потом добавлять с помощью append. Python: list.append(list.pop(list.index(min(list[:k])))
Автор постоянно что то упускает, по крайней мере такое впечатление в последних видео, что что-то "само собой разумеещеся" недосказано для новичков (а я уже 20 лет в теме). Алгоритм быстрой сортировки путанно рассказан, имхо конечно, но без перемотки не воспринимается.
Разбери тему статических массивов, которые выделяются на стэке. Сколько не пытался с ними разобраться - ничего не понял. В частности двумерные массивы вообще непонятны. Как мы ходим по строкам, если они друг за другом лежат (самое главное - зачем тогда двумерность). Ну и про то, что условный int arr[7] и int arr[10] - это по факту вообще разные типы данных
Вступай в телеграм-канал: t.me/Alek_OS
Есть сортировки способные рассчитать предполагаемое место элемента в массиве, хотелось бы услышать о таких сортировка тем более что о них почти нигде нет информации
чуть-чуть подушню, но ради улучшения контента в будущем:
13:54 - правильно будет "без их обмена"
я понял только одно чтобы быть хорошим программистом нужно сперва изучить цифровую схемотехнику и архитектуру )))
Все что не пузырек - сложна )
Лет 20 назад придумал свою быструю сортировку, записал на бумажке, тогда компа у меня не было. Потом он появился, но я про это забыл, несильно давно всё таки решил реализовать алгоритм, получилось. Но скорость поначалу уступала квику, но после оптимизаций удалось сделать более быструю сортировку. Я так же добавил для маленьких частей массива обычный пузырёк, где-то на 7 элементах, и это заметно ускорила сортировку. Преимущество пузырька, что код очень простой, и с маленькими массивами работает весьма быстро.
для меня и для еще некоторых одногруппников по программной инженерии твой канал стал спасением. спасибо тебе, Алек
очень жаль, что вы не способны освоить базу самостоятельно. Дальше в программировании вам будет больно
@@eugenefedoryachenko8793 что означает самостоятельно?Читать методичку?
Или же просто глянуть видео по теме, считается несамостоятельным изучением?
@@kemencryptocode суть как раз в исходном комментарии. Человек выше пишет, что он без видео на этом канале не понимал алгоритмы и прочее темы которые подымались на этом канале.
Это базовые знания, которые проходятся в школе. А алгоритмы вообще не требуют изучения, а требуют понимания, если человек мнит себя хоть каким-то программистом, я думаю он нашел бы уже материал о том какую логику используют сами алгоритмы.
А суть моего комментария в том, что не нужно ждать пока тебе принесут на блюдичке разбор базы, иначе потом ты ничего не сможешь делать сам
@@eugenefedoryachenko8793 j8jj
@@eugenefedoryachenko8793 j8jj8i
Где-то на середине объяснения быстрой сортировки всё начало звучать, как потоковый шум😅 Придется в книгу залезть какую-нибудь)
No, try to code it, then it become extremely clear.
@@nullnull557 какой именно плейлист? 17-18 Python, 2018 Python, 2020 C++?
@@nullnull557благодарю
Ты серьезно? А программирование точно твое?
@@ЦветущаяСакура-ъ7фа чье еще если не мое?) Может день тогда был не из лучших, может башка кипела уже от других вопросов, я уже не помню. Но во второй раз всё зашло спокойно.
Спасибо! Смотри уже видео 7-ое без остановок - повторяю каждый новый для себя алгоритм. Мне как новичку в этой деятельности твой канал ОООчень сильно помогает. И несмотря на то, что я не особо увлекался историей программирования, твои видео по истории также очень сильно привлекают.
Лучшее что видела на ютубе!!! По ним можно учиться, повторять, вспоминать. Лучше всего, что показывается не как у большенства на питоне примеры, а на С подобном языке! Ты лучший!!!
В целом видео хорошее, но, довольно, сложно объяснил сортировку Хоара, можно было так:
1. Выбираем случайный элемент, если элемент всего один, то возвращаем его.
2. Выбираем в 2 массива элементы меньше и элементы больше текущего.
3. Рекурсивно вызываем функцию, передавая массивы и переходим в пункт 1.
А лучше бы вообще код дал и не стал бы ничего виузализировать. Десять минут бы вам сократил)))
@@8-----3 хорошая шутка, но я имел ввиду, что так лучше понять)
Я это включаю когда уснуть не могу 😁
Смотря RUclips и изучая все каналы по теме "Программирования" я нашел тот, который заслуживает внимания для просмотра. Причем информация не простая, но ты делаешь не простые вещи понятными и доступными. Я уже подумал что "Сумасшедшие" и те, которые хотят разобраться в работе того что изобрело человечество вымерли. Как ты говорил: Программирование - это искусство", а для кого программирование это деньги, просто не понимают что они гниют и деградируют в этом мире.
Никто не будет делать «искусство» за просто так. Ни художник, ни скульптор, ни программист
бредятина про деньги, ты сам то будешь за 20к рублей выполнять обязанности сеньера помидора в госконторе? или это другое? да и искусство всегда имеет цену
А разве программист, видящий в программировании искусство, не может хотеть денег?
Либо у человека могут быть совсем другие интересы, а программирочание хороший способ обеспечить себя, свою семью и саму возможность заниматься чем-то другим.
Я ничего из этого не отрицаю, ведь правда, искусство тоже ценится, но если художник работает только из за денег, можно ли его считать ценителями искусства? Не знаю. Скорее это проходные люди которые будут пахать и работать что бы прокормить себя и свою семью...
Самое легкое объяснение из всех существующих тейков на эту тему что видел. Новичкам будет очень полезно, хорошая работа.
Грокаем алгоритмы - Адитья Бхаргава рекомендую
Навеяло... Вспомнил, как в школе в 90-х преподавал информатику. Тогда давали два алгоритма пузырёк и замена. Ещё был метод Шелла.
Компьютер был 486, 66 мггц...
Массив из 30 000 элементов пузырьком сортировался чуть ли не 30 минут... А методом Шелла за 7 секунд... Я ученикам показывал на этом примере.... Что нужно учится.
в книге Грокаем алгоритмы - Адитья Бхаргава есть приведённые алгоритмы сортировки, и объясняется проще на пальцах. Здесь в видео уж очень всё разжёвывается и очень мудрено рассказывается, я на быстрой сортировке чуть мозг не сломал, хотя это простейщий алгоритм: разделить массив на две части, выбрать опорный элемент,, применить рекурсивно функцию сортировки к двум подмассивам (которые больше и меньше опорного). Всё.
стрелочки какие-то... туда идти, сюда не идти... зачем столько сложностей?
Фраза "применить рекурсивно функцию сортировки к двум подмассивам" далеко не для каждого покажется проще чем визуализация стрелочками. Все по разному воспринимают информацию, для вас вот проще видимо текстовое описание
Как раз таки в Грокаем алгоритмы приведена самая простейшая реализация быстрой сортировки, потому что бОльшую часть работы за тебя делает именно пайтон)
Попробуй сделать так же например в Си и внезапно возникнут вопросы: "а как получить подмассив? а как их конкатенировать?"
И даже если ты найдёшь ответы на них, твоё решение будет суууупермедленным, потому что в каждом рекурсивном вызове ты будешь по нескольку раз маллочить кучу памяти.
Так я книгу тоже читал но после этого видео понял что там приведены только те примеры и выбраны только те опорные точки где левый подмассив будет с числами меньше опорного а правый с числами больше опорного но про то что числа нужно будет менять местами чтобы левый и правый подмассивы были больше и меньше я ничего не слышал и не читал
Самое сложное объяснение быстрой сортировки, что я видел, но вначале все отлично)
Большое спасибо! Это лучшее объяснение сортировок, что я нашел! И лайк за подсказку про сортировку хоара+выбором, меньше итераций в 3 раза)
Алек, спасибо за видео очень радует твой контент. Я даже и не знал что сортировка Хоара на бумаге так сложна на деле просто пишешь код который уже как вы учёный и даже не задумываешься о том как это работает под капотом и именно за то что ты раздвигаешь для меня и других неким слои абстракций я тебя люблю)
Замечательное видео, на паре ничего не понятно, но тут объяснили очень доходчиво сам формат видимо кайфовый, лайк и подписка однозначно👍
Сортировка слияниями сделала для меня Хорара неактуальным - всегда логарифм а памяти не жалко Потом я узнал что есть поразрядная взял разряды по 2 в 16 степени - и получил почти линейное время (для дробных можно домножить на на нужную точность чтобы не потерять разряды) Строки вообще всегда за чисто линейное время сотрируются - просто пишется бор (много памяти - пишите сжатый бор, большой алфавит - пишите map в переходах тогда будет логарифм размера алфавита как множетель во времени)
мне нравится сортировка Шелла(улучшенный вариант пузырьком) - проста в реализации и алгоритмическая сложность как у быстрой
В VBA нет сортировки и в свое время пришлось освоить эту технологию. Для меня стало реальным открытием что быстрая сортировка реально быстрая но жрёт стек.
В VBA для сортировки можно использовать класс ArrayList с методами Sort и Reverse.
Мне нравятся еще алгоритмы поиска подстроки в строке. С ходу выглядят сложно, но когда разберешься становится понятен принцип. Можно наглядно визуализировать. Стоит сделать на эту тему ролик. Ну и вообще визуальный разбор работы популярных алгоритмов - крутая штука.
"С ходу выглядят сложно" мне кажется поиск подстроки в строке может на псевдокоде написать даже человек, который никогда не прогал :)
Вау. Даже добавить нечего. Посмотрев это видео , я поняла, как работают алгоритмы. Из Вас вышел бы хороший преподаватель.
Какой же кайф смотреть такие ролики
Спасибо. Я практически педагог информатики и мне нравится Ваш канал, всё очень информативно. Да, со многим знаком, но не менее интересно становится смотреть. Ждём продолжения.
Спасибо большое за видео. Все красиво, понятно и доступно.
продолжай в том же духе!
это только начало разбора темы алгоритмов :)
алгоритмов бывает много, разных, для решения разных задач. Из этого можно сделать целый плейлист! Думаю что будет очень интересно. Побольше бы такого качественного контента, визуал видео симпотичный и понятный.
оптимизация классической пузырьковой - хороша. Сортировка вставками - не нужно перелопачивать отсортированую часть массива каждый раз, нужно найти место и туда вставить очередной элемент (переместив элементы на 1 шаг вправо) , как в картах на руках. Потом можно оптимизировать - использовать двоичный поиск. ускорить
Лучший канал! Спасибо!
Хорошая визуализация. И достаточно нужная тема.
Очень круто чувак ! Я до сортировок вообще еще не дошел, но с удовольствием смотрю!
Нужна часть 2. В которой доказывается что cортировать быстрее NlogN невозможно. И часть 3 где расказывается про сортировку Radix :)
и начинать бы стоило вообще с объяснения что такое О-большое, и как рассчитывается скорость алгоритма. Ну это так, на всякий. Потому что если бы я не знал, то для меня эти формулы в примерах (таблицы сравнения) были бы пустой информацией. А "программистов", которые не отличают линейное время от логарифмического к сожелению много.
Невозможно только для сортировок сравнения. Сортировки подсчётом, например, могут работать быстрее
помню как раз сам придумал сортировку пузырьком, даже не знал, что такая есть, потом сам же забыл как я это придумал, пришлось гуглить какую нибудь сортировку, в итоге нашел ровно мою идею и сам вспомнил.
идея пришла спонтанно и через время ушла. надеюсь я не отупел)
топ! пересматриваю по несколько раз. и советую этот канал друзьям!
Лучший канал по теории ИТ
Так круто быструю сортировку никто не показывал
Мне очень нравятся твои видео потому, что видно что они сделаны педантичным человеком: всё так красивенько, практично, понятно визуализировано. Это я заметил только сегодня, после просмотра трёх видео (просто как-то давно мне не рекомендовались). И вот это уже пятое видео подряд, и я заметил как в 22:55 в ячейке количества перестановок отсортированного методом Ломута массива не закрыта скобочка 😅, очень забавно увидеть это после того, что я начал замечать, на сколько мне нравится подача (аудио и видео).
Но я в любом случае люблю твои видео, пусть и скобочки нет 👀, они всё равно очень классные
Эти алгоритмы красноглазики писали когда 640кБ достаточно было всем. А сейчас можно просто создать новый массив и скопировать в него отсортированные данные за N/2 проходов. А еще лучше сортировать в связных списках или базой SQL.
Спасибо за очень хорошую визуализацию сложных тем. Это большой вклад в развитие многих и просвещение IT.
Офигеть, просто вау!
Спасибо за ролик!
Крайне полезный контент, с удовольствием смотрю каждое видео!
Контент топ, спасибо тебе за то, что делаешь!
Ещё раз пересмотрел. стало ещё интереснее и понятнее
Эх, где же ты был когда я готовился сдавать комиссию по ОАиП?)))
Видос топ, автор красава.
все-таки в качестве опорного брать не средний элемент, а медиану между первым, средним и последним, это позволит избежать снижения эффективности на краевых случаях.
Столько этих видео про сортировки. А в работе всё равно в первую очередь думаешь, как их избежать, либо максимально уменьшить число "n")
Спасибо за видео! Очень хорошая подача материала!
Большое спасибо за твои ролики. Очень классно.
Спасибо огромное за видео, все понятно и интересно, прошу по больше таких видео
Довольно доступные объяснения, интересно слушать.
прогоняем весь массив и находим максимальное число, запускаем цикл от 0 до этого числа. в процессе сверяем счетчик массива со всеми числами, при совпадении перемещаем число в новый массив. т.к. в цикле идет числовая последовательность, то и числа в исходном массиве станут как надо.
А теперь представь, что тебе надо отсортировать такой массив из 4-х элементов: {0, 1, 1е100, 1е101}
@@ДмитрийАлексеев-ш2з в любом случае все значения придется сравнивать с эталоном. в циклах есть функция пропуска значений для ускорения их работы. к слову, массивы на подобии твоих значений легко сортируются через мин/макс, не методом поплавка.
Круто, давай еще, вперед вперед😅
Красавчик👍 очень всё понятно
Спасибо за видео! Всегда жду
Наглядно, понятно. Спасибо 👍
Два видоса за месяц каеф, балуешь перед НГ
Большое спасибо, было интересно с точки зрения инженерий)
Я то думал, что берем первое значение, и гоним его через весь массив, в попытке найти значение поменьше, попутно запоминая максимально близкое к минимальному значение, их местоположение чтобы больше там не смотреть, и количество дубликатов, создавая новый массив.
Но важно помнить, что даже самая простая операция обязательно сожрет такты, поэтому скорость зависит даже от того КАК ИМЕННО вы расположили операторы И ГДЕ.
Великолепное объяснение алгоритмов сортировки. Спасибо тебе!
Как всегда интересно, спасибо за разбор:3
Спасибо, лучший!❤
Очень интересное и познавательное видео!!!
Здорово! Как и везде всё начинается с пузырька! :-) \ Давайте начнём писать проект который будет выявлять рекламу и перепрыгивать (отключать) её - это будет супер плагин который будет потом стоять на всех устройствах мира ))) \
Такой уже есть)
AlexOS, как всегда - лучший, смотрю с 700 подписчиков. Контент только растёт, прекрасное подспорье для начинающего (меня), много полезного кратко и на русском. БОЛЬШОЙ ЛАЙК! (ПС Забыл дописать это к прошлому комменту)
Ладно подпишусь. Весьма интересный канал
скорее всего я оч тупой, ноо..... Я кучу раз пересмотрел момент с сортировкой хоара и кое как написал код на плюсах, но для меня этот код это какая-то магия хввхвх
Спасибо за видео!
Спасибо ..за Ваш контент .!!))
Красота!
Круто! Аж олдскулы свело)
Большое спасибо за разбор
делай больше контента у тебя получается отлично!!
Вставки у нас еще назывался пузырьковый метод
13:30 почему указатели остановились на семёрке и тройке? Они же не равноудалены от концов массива. Ведь по твоей логике и коду left++, right-- должны были сравниваться семёрка и четвёрка
Отличный материал и визуальная подача.
Однако я настоятельно рекомендую расширить диапазон дикторских приёмов. Пауза с приглушением слова/выражения в конце блока - это акцентирование внимания на этом слове/выражении как на ключевом, с последующей "точкой".. и паузой на подумать как именно оно характеризует предшествующий блок информации. У вас слишком часто и совсем не редко этот приём просто неуместен. Из-за этого само повествование рвётся в неожиданных местах, заставляя постоянно фокусировать на конце предложения, где нет ничего, что стоило акцентировать. Сильно мешает восприятию.
1:44 это называется «сортировки сравнением». Есть же способы сортировать элементы не сравнивая их явно
Канал действительно мирового уровня и тот случай когда можно пожалеть британцам что не владеют русским языком☝🏻
Крутой видосик, даже под бухлишком номана зашел
Лучший просто
Можешь показать как выглядит цикл или условный оператор на ассемблере?
Всегда красивые проработанные анимации, всё очень гладко рассказывается. Это несомненно хорошо, но в какой-то мере усыпляет внимание зрителя. Иногда корявые объяснения с "ну это, кароч, как его..." в шипящий микрофон лучше откладываются в памяти. А это скорее для эстетического удовольствия тем, кто уже разбирается в вопросе.
Однозначно
Это Ваши привычки.
Нет Merge Sort, но зато есть вариации quick sort это как? Где сортировка кучей? Это классика это знать надо!
Спасибо ❤
Лучший. спасибо за видос! только с названиями сортировок что то не то... да, совсем не то...
13:52 ... сдвинуть указатели без ИХНЕГО обмена🤪
и? человеческий фактор, лол
@Pavel Zubkov да, тут совершенно бесплатная информация, сделаная человеком, который вполне может ошибится.
Спасибо большое, из видео я понял, что алгоритмы не мое 😅
Сортировка вставками смущает. В видео выглядит, как пузырьком. Я реализовал ее через доп.переменную в которой храню значение текущего элемента (который буду ставить на свое место). Указатель идет по списку и сравнивает текущий элемент с каждым предыдущим элементом. Каждый элемент с которым сравнил в случае, если текущий меньше копирую в соседнюю ячейку справа (смещаю на +1), соответственно в списке становится у одного элемента временно индексы j и j+1. Как только найдется элементь, который больше текущего, ставлю текущий на j+1. В итоге получается не обмен местами у соседних элементов, а именно вставка со смещением всех больших текущего элементов.
Промежуточные состояния списка также меняется постоянно:
ar = [0, -5, 2, 1]
ar = [0, -5, 2, 2]
ar = [0, -5, 1, 2] и т.д.
На питоне так реализовал:
def insertion_sort(array):
for i in range(1, len(array)):
key = array[i]
j = i - 1
while key < array[j] and j >= 0:
array[j + 1] = array[j]
j -= 1
array[j + 1] = key
return array
За сортировку Хоара и Ломуто отдельное спасибо.
спасибо большое
19:49 почему правый указатель не сдвинулся (на подмассиве 9 5 7)? while(arr[right](7) > pivot(5)) right--; в скобках написал значения. 7 > 5, следовательно сработает right-- и right станет указывать на опорный. Потом сработает перестановка и получится 5 9 7. Затем будет сортироваться подмассив 9 7. Они свапнутся, получится 7 9. В итоге подмассива 9 5 7 все равно отсортирован (сортировка работает идеально), но немного не тем путём, как показано в анимации
По моему мнению, в сортировке выбором необязательно утверждать, что все элементы, подходящие по условию помещаем в левую часть. Например, я лично при сортировке выбором наоборот в конец ставлю, чтобы потом уменьшать длину с помощью среза, а потом добавлять с помощью append.
Python: list.append(list.pop(list.index(min(list[:k])))
А, извиняюсь....автор упомянул, что можно в конец для удобства.
@@c3equalz899 а еще можно сразу искать минимум и максимум ставя их в начало и конец соответственно, что сокращает немного количество переборов
Новый вид подачи рекламы - самое интересное до её
Классная тема)
Здравствуйте! Покажите пожалуйста полностью код "пузырьковой" сортировки.
Смотря первые три сортировки:
- Что я тут делаю? Я что тупой?
Смотря последние две сортировки:
- Что я тут делаю? Я что умный?
Ничего не понял, но очень интересно.
Спасибо за твои видео, но мозг кипит уже на середине
я тоже хочу научиться делать в конце такие....паузы)
4-5 строчка кода вызывает вопросы ,если pivot окажется максимальным или минимальным значением программа сломается
конечно же лайк)
Автор постоянно что то упускает, по крайней мере такое впечатление в последних видео, что что-то "само собой разумеещеся" недосказано для новичков (а я уже 20 лет в теме). Алгоритм быстрой сортировки путанно рассказан, имхо конечно, но без перемотки не воспринимается.
Так и должно происходить, когда надо подумать. С книгами совершенно то же самое.
Разбери тему статических массивов, которые выделяются на стэке. Сколько не пытался с ними разобраться - ничего не понял. В частности двумерные массивы вообще непонятны. Как мы ходим по строкам, если они друг за другом лежат (самое главное - зачем тогда двумерность). Ну и про то, что условный int arr[7] и int arr[10] - это по факту вообще разные типы данных
всякие целые значения сортируются интересно в Counting sort, там абсолютно другой принцип без перетасовки туда сюда.