Реализуем сортировку пузырьком + оптимизация + reverse
Vložit
- čas přidán 25. 07. 2024
- В уроке пройдёмся по сортировке пузырьком по каждой циферке, оптимизируем, поговорим о сложности алгоритма и сделаем reverse.
🍀 Поддержать канал: www.donationalerts.com/r/webe...
☕️ Купить кофе: buy.stripe.com/5kA7sL9574SG7x...
🎨 Купить набор кистей Procreate: webelart.com/illustration.
✍️ Мой telegram channel: t.me/webelart
🏰 Английский CZcams: @webelart_en
💁🏼♀️ Инстаграм: / webelart
🦄 LinkedIn: / webelart
00:00 Введение.
01:55 Проходимся по цифра вручную.
10:00 Пишем функцию bubbleSort(arr)
14:00 Проверка вывода.
15:20 Оптимизация bubble sort.
17:40 Сложность алгоритма.
18:36 Reversed.
На канале я рассматриваю различные темы веб-разработки, на текущий момент: веб-основы, веб-анимации, веб-дизайн.
Категорическая благодарность за столь подробный разбор от А до Я + за приятные бонусы в виде оптимизации, а также рассмотрения сложности алгоритма.
У ваших подписчиков разный уровень. Мне наоборот понравилось, что видео 20 минут, недолгое, по относительно простой теме. С удовольствием посмотрел за завтраком и посмотрю остальные серии про сортировку :) Спасибо за ваш труд!
Поняла, услышала! ❤😘
20:00 я уже давно сеньер-помидор программист, но смотрю ваши ролики просто потому, что вы интересно и классно рассказываете. Я уверен, нас таких много :)
Ты Супер! для джуна правда очень запутанно, но тем интереснее! Спасибо Вам!
Елена, спасибо! "Больше сортировок для бога сортировок!"
Спасибо, ждем остальные сортировки )
Это полезная тема, нужно делать дальше обзоры сортировок
Буду!
Вы работаете программистом?
Очень интересно про разные варианты сортировки, ты очень классно объясняешь и тебя очень интересно смотреть. И я не отпишусь)
🤗❤
Спасибо за ваши видео очень сильно помогаете.))))))))))))))))))0
20:04 Да не, все нормуль, простое/ непростое, повторить что-то - всегда полезно.
Делай, на что хватает время, не переживай.
Аххх, 😍 Ррррр, прямо замурлыкал! Спасибо за поддержку! Буду разные делать и простые, и сложные! 💪❤
спасибо, классный видос
Спасибо ☺️
❤🔥😘
Спасибо. На Delphi/Lazarus и некоторых других языках, не имеющих встроенных функций сортировки, до сих пор (около 20 лет) использую пузырька в продакшне. Единственное - никогда даже не задумывался о том, что первый цикл может быть for; всегда ставил while с проверкой swapped. Ну и про другие методы посмотреть тоже будет интересно; когда делаешь задачу, чаще стараешься сделать максимально просто, а сложное порой забывается.
🔥🔥🔥
спасибо!
спасибо
Не обязательно объявлять saveItem и так менять, можно записать всю эту конструкцию вот так:
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
}
Здесь мы не объявляли переменную, а воспользовались деструктурированием массива
Так выглядит тоже круто! 🔥
Рад что нашёл ваш канал! Я
как раз начал изучать веб технологии
Сортировки - это топ, оч полезный навык.
Почему-то думал, что будем сравнивать i > j, а не j с j + 1.
Только вникаю в это все, по этому пока есть вопросики =)
Дополнение к комменту.
В коде сперва было не оч понятно, что и как, потом сел, взял листок и ручку, написал массив и руками сортировал все, взял массив без отрицательных чисел и вроде как за 3 итерации все прошел, позже проверю в коде.
Когда на листочке поделал, то стало сильно понятнее, почему так.
В общем видео топ!!!!!
с чего вы взяли?
Спасибо! ❤️
внутренний цикл разве не надо укорачивать после каждой итерации? тк последний элемент будет всегда больше то нет смысла его сортировать.. for (let j = 0; j < arr.length - i - 1; j++)
Да, это сокращает количество итераций.
Приятно смотреть и отличные видео, за сегодня уже не одно посмотрел)
Кто подскажет, почему сортировку называют BubleSort?
Спасибо! Да, интересно почему так назвали.
@Damian6260 Потому что самое большое значение как бы всплывает к концу массива уже на первой итерации, как пузырек к поверхности воды. Bubble - пузырь по-английски.
Подписчики смотрят, ставят лайки и комментируют)))
Эта концовка😂😂😂
Больше сортировок, больше алгоритмов. )))
YEEEESSSS!!! 💪💪💪❤🔥
А краш курс по Реакту/Редакс не планируется случайно? 😅
Не планирую краш курс только по реакту, но есть идея, которую хочу сделать. Надо подвзорвать мозг.
@@webelart Только не затягивай, по чаще видео выкладывай😅
@@bolovy6093 ХОРОШО!!! 😘
Красавица 👌😊😉
Скажите пожалуйста что за музыка в конце ролика!?
❤Спасибо! Про музыку попозже отпишусь, спросила у человека, который мне эти вставки делал :)
это трек Tropic Fuse - French Fuse
+
Привет, спасибо тебе. Как успехи с изучением английского? Ты можешь сказать, что чем больше ты живёшь в UK, тем больше тебе это нравится?
Привет, английский или UK?
@@webelart , у тебя лимит на вопросы? Тогда второй вопрос про United Kingdom, пожалуйста )
@@YuriiKratser хаха, я не знаю, страна как страна. Иногда нравится, иногда всё бесит :) И английский, потому что не могу лучше изъясняться и UK, потому что здесь из развлечений побухать и еда тут стрёмная. А я люблю вкусно поесть и последнее чем я хочу заниматься в этой жизни это бухать. 😐
@@webelart, ну я бы конечно небыл бы столь котегоричным к алкоголю )
@@tamaraalenkova3078 😂 Мама, давай без этого. Но спасибо, спасибо! ❤
а внутренний цикл, не с i начинается?
на каждой итерации мы находим минимальный (максимальный) элемент и ставим его в конце, на следующей повторяем для оставшегося массива - так внутренний цикл либо c i либо не до конца-i
@@sergeiivanov6617 по алгоритму сравниваются соседние: www.tutorialspoint.com/data_structures_algorithms/bubble_sort_algorithm.htm
это да, я не про это, из статьи на вики (внутр цикл) "ЦИКЛ ДЛЯ I=0 ДО N-1-J ШАГ 1 ", в нашем случае должно отниматься i
@@sergeiivanov6617 я так понимаю вы вот эту ссылку используете en.wikipedia.org/wiki/Bubble_sort
И псевдокод в ней. Там repeat используется как внешний цикл я так понимаю и i внутри, по факту просто название.
Т.е. j это просто название внутренней переменной и алгоритм реализован на JavaScript.
Но алгоритм тот же сравниваем соседние элементы, всё верно в общем, не вижу ошибок :)
много плохого слышпл про баблы. кому-то пригодилось на практике?
Что именно плохого? Вообще алгоритм довольно тяжёлый по времени O(n^2) поэтому лучше использовать более продвинутые, например quick sort O(n*logn). На практике только в универе нужен был, ещё при собесах :) Так нет, ещё не пригодилось ни разу. Но для практики самое то, на этих штуках по факту учатся понимать логику.
Много раз использовал, и в релизном софте тоже. Если нет особых объёмов сортировки, то норм. Преимущества - просто и понятно.
@@user-jt9yd6vr8b Виктор на каком языке вы пишите, и какие продукты разрабатываете?
@@webelartОх, это вопрос сложный. :) Так уж сложилось, что язык выбираю или дают под конкретное решение, привязки к чему-то одному нет. Сейчас самый большой проект на сопровождении (не в одно лицо) - Web-портал на PHP (частично на чистом со smarty, частично на yii2) с фронтом на JavaScript (Vue и Nuxt, местами чистый JS); частенько приходится на нём какие-то фичи делать в основном в части бэка, реже на фронте. Были заказы и проекты под всевозможные учётные системы и сопровождение бухгалтерского ПО (онлайн-порталы и Windows-программы), там приходилось с разными вещами работать на VBA (для Excel), Delphi и PHP. В последнее время начал работу с управлением разного рода железом под Raspberry Pi, Orange Pi и другие одноплатники; под это дело пока сделал небольшой проект по сетевому сканированию из обычного сканера на bash (видео у меня на канале есть); а сейчас настало время его апгрейдить и освоить под это дело Python (одну часть уже сделал, видео записал и выложил к себе, но сейчас времени не хватает проект продолжить). Ещё под пандемию сделал WebRTC-видеочат для локальной сети с web-сервером на Lazarus (изврат, на самом деле) и фронтом на jQuery. На практике её пока не удалось нормально опробовать и задействовать, но под развитие идеи есть, найти бы ещё время. Как-то так.
Норм получилось. спасибо
Пожалуйста! 😘