Реализуем сортировку пузырьком + оптимизация + reverse

Sdílet
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.
    На канале я рассматриваю различные темы веб-разработки, на текущий момент: веб-основы, веб-анимации, веб-дизайн.

Komentáře • 66

  • @0000Koni
    @0000Koni Před měsícem

    Категорическая благодарность за столь подробный разбор от А до Я + за приятные бонусы в виде оптимизации, а также рассмотрения сложности алгоритма.

  • @pooltechnology
    @pooltechnology Před rokem +6

    У ваших подписчиков разный уровень. Мне наоборот понравилось, что видео 20 минут, недолгое, по относительно простой теме. С удовольствием посмотрел за завтраком и посмотрю остальные серии про сортировку :) Спасибо за ваш труд!

    • @webelart
      @webelart  Před rokem

      Поняла, услышала! ❤😘

  • @user-qc8ic8tb3x
    @user-qc8ic8tb3x Před rokem +5

    20:00 я уже давно сеньер-помидор программист, но смотрю ваши ролики просто потому, что вы интересно и классно рассказываете. Я уверен, нас таких много :)

  • @real-taylor
    @real-taylor Před 8 měsíci

    Ты Супер! для джуна правда очень запутанно, но тем интереснее! Спасибо Вам!

  • @helengriva3016
    @helengriva3016 Před rokem +1

    Елена, спасибо! "Больше сортировок для бога сортировок!"

  • @user-bi4ln9pg3i
    @user-bi4ln9pg3i Před rokem +1

    Спасибо, ждем остальные сортировки )

  • @valeriykhoma9702
    @valeriykhoma9702 Před rokem +3

    Это полезная тема, нужно делать дальше обзоры сортировок

    • @webelart
      @webelart  Před rokem

      Буду!

    • @sergey53689
      @sergey53689 Před rokem

      Вы работаете программистом?

  • @user-of3yg1me6m
    @user-of3yg1me6m Před rokem +1

    Очень интересно про разные варианты сортировки, ты очень классно объясняешь и тебя очень интересно смотреть. И я не отпишусь)

  • @andreyliskin340
    @andreyliskin340 Před rokem

    Спасибо за ваши видео очень сильно помогаете.))))))))))))))))))0

  • @Di-yes
    @Di-yes Před rokem +3

    20:04 Да не, все нормуль, простое/ непростое, повторить что-то - всегда полезно.
    Делай, на что хватает время, не переживай.

    • @webelart
      @webelart  Před rokem +2

      Аххх, 😍 Ррррр, прямо замурлыкал! Спасибо за поддержку! Буду разные делать и простые, и сложные! 💪❤

  • @zordmax
    @zordmax Před rokem

    спасибо, классный видос

  • @user-td9ql7lj9h
    @user-td9ql7lj9h Před rokem

    Спасибо ☺️

  • @user-jt9yd6vr8b
    @user-jt9yd6vr8b Před rokem

    Спасибо. На Delphi/Lazarus и некоторых других языках, не имеющих встроенных функций сортировки, до сих пор (около 20 лет) использую пузырька в продакшне. Единственное - никогда даже не задумывался о том, что первый цикл может быть for; всегда ставил while с проверкой swapped. Ну и про другие методы посмотреть тоже будет интересно; когда делаешь задачу, чаще стараешься сделать максимально просто, а сложное порой забывается.

  • @k-ivan
    @k-ivan Před rokem

    🔥🔥🔥

  • @mrdensvenske
    @mrdensvenske Před rokem

    спасибо!

  • @user-te4zh2dz9r
    @user-te4zh2dz9r Před rokem

    спасибо

  • @olegalekseenko5005
    @olegalekseenko5005 Před 6 měsíci

    Не обязательно объявлять saveItem и так менять, можно записать всю эту конструкцию вот так:
    if (arr[j] > arr[j + 1]) {
    [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
    }
    Здесь мы не объявляли переменную, а воспользовались деструктурированием массива

    • @webelart
      @webelart  Před 6 měsíci

      Так выглядит тоже круто! 🔥

  • @maxim_basharin
    @maxim_basharin Před rokem

    Рад что нашёл ваш канал! Я
    как раз начал изучать веб технологии

  • @STELLS541
    @STELLS541 Před 9 měsíci

    Сортировки - это топ, оч полезный навык.
    Почему-то думал, что будем сравнивать i > j, а не j с j + 1.
    Только вникаю в это все, по этому пока есть вопросики =)

    • @STELLS541
      @STELLS541 Před 9 měsíci

      Дополнение к комменту.
      В коде сперва было не оч понятно, что и как, потом сел, взял листок и ручку, написал массив и руками сортировал все, взял массив без отрицательных чисел и вроде как за 3 итерации все прошел, позже проверю в коде.
      Когда на листочке поделал, то стало сильно понятнее, почему так.
      В общем видео топ!!!!!

    • @sergey53689
      @sergey53689 Před 8 měsíci

      с чего вы взяли?

    • @webelart
      @webelart  Před 5 měsíci

      Спасибо! ❤️

  • @user-ux7cj9rc2b
    @user-ux7cj9rc2b Před rokem +2

    внутренний цикл разве не надо укорачивать после каждой итерации? тк последний элемент будет всегда больше то нет смысла его сортировать.. for (let j = 0; j < arr.length - i - 1; j++)

    • @dmitry7417
      @dmitry7417 Před 11 měsíci

      Да, это сокращает количество итераций.

  • @Damian6260
    @Damian6260 Před rokem +1

    Приятно смотреть и отличные видео, за сегодня уже не одно посмотрел)
    Кто подскажет, почему сортировку называют BubleSort?

    • @webelart
      @webelart  Před rokem

      Спасибо! Да, интересно почему так назвали.

    • @tatianaagapkina8658
      @tatianaagapkina8658 Před rokem

      @Damian6260 Потому что самое большое значение как бы всплывает к концу массива уже на первой итерации, как пузырек к поверхности воды. Bubble - пузырь по-английски.

  • @yankov2206
    @yankov2206 Před rokem

    Подписчики смотрят, ставят лайки и комментируют)))

  • @tatianaagapkina8658
    @tatianaagapkina8658 Před rokem

    Эта концовка😂😂😂

  • @user-me8dt7sz8i
    @user-me8dt7sz8i Před rokem

    Больше сортировок, больше алгоритмов. )))

    • @webelart
      @webelart  Před rokem

      YEEEESSSS!!! 💪💪💪❤‍🔥

  • @bolovy6093
    @bolovy6093 Před rokem +1

    А краш курс по Реакту/Редакс не планируется случайно? 😅

    • @webelart
      @webelart  Před rokem

      Не планирую краш курс только по реакту, но есть идея, которую хочу сделать. Надо подвзорвать мозг.

    • @bolovy6093
      @bolovy6093 Před rokem

      @@webelart Только не затягивай, по чаще видео выкладывай😅

    • @webelart
      @webelart  Před rokem

      @@bolovy6093 ХОРОШО!!! 😘

  • @gamemobile5235
    @gamemobile5235 Před rokem

    Красавица 👌😊😉
    Скажите пожалуйста что за музыка в конце ролика!?

    • @webelart
      @webelart  Před rokem

      ❤Спасибо! Про музыку попозже отпишусь, спросила у человека, который мне эти вставки делал :)

    • @webelart
      @webelart  Před rokem

      это трек Tropic Fuse - French Fuse

  • @Shir-Na-Shir
    @Shir-Na-Shir Před rokem

    +

  • @YuriiKratser
    @YuriiKratser Před rokem

    Привет, спасибо тебе. Как успехи с изучением английского? Ты можешь сказать, что чем больше ты живёшь в UK, тем больше тебе это нравится?

    • @webelart
      @webelart  Před rokem

      Привет, английский или UK?

    • @YuriiKratser
      @YuriiKratser Před rokem

      @@webelart , у тебя лимит на вопросы? Тогда второй вопрос про United Kingdom, пожалуйста )

    • @webelart
      @webelart  Před rokem +1

      @@YuriiKratser хаха, я не знаю, страна как страна. Иногда нравится, иногда всё бесит :) И английский, потому что не могу лучше изъясняться и UK, потому что здесь из развлечений побухать и еда тут стрёмная. А я люблю вкусно поесть и последнее чем я хочу заниматься в этой жизни это бухать. 😐

    • @YuriiKratser
      @YuriiKratser Před rokem +1

      @@webelart, ну я бы конечно небыл бы столь котегоричным к алкоголю )

    • @webelart
      @webelart  Před rokem

      @@tamaraalenkova3078 😂 Мама, давай без этого. Но спасибо, спасибо! ❤

  • @sergeiivanov6617
    @sergeiivanov6617 Před rokem

    а внутренний цикл, не с i начинается?

    • @sergeiivanov6617
      @sergeiivanov6617 Před rokem

      на каждой итерации мы находим минимальный (максимальный) элемент и ставим его в конце, на следующей повторяем для оставшегося массива - так внутренний цикл либо c i либо не до конца-i

    • @webelart
      @webelart  Před rokem

      ​@@sergeiivanov6617 по алгоритму сравниваются соседние: www.tutorialspoint.com/data_structures_algorithms/bubble_sort_algorithm.htm

    • @sergeiivanov6617
      @sergeiivanov6617 Před rokem

      это да, я не про это, из статьи на вики (внутр цикл) "ЦИКЛ ДЛЯ I=0 ДО N-1-J ШАГ 1 ", в нашем случае должно отниматься i

    • @webelart
      @webelart  Před rokem

      @@sergeiivanov6617 я так понимаю вы вот эту ссылку используете en.wikipedia.org/wiki/Bubble_sort
      И псевдокод в ней. Там repeat используется как внешний цикл я так понимаю и i внутри, по факту просто название.
      Т.е. j это просто название внутренней переменной и алгоритм реализован на JavaScript.

    • @webelart
      @webelart  Před rokem

      Но алгоритм тот же сравниваем соседние элементы, всё верно в общем, не вижу ошибок :)

  • @andreyevanton
    @andreyevanton Před rokem

    много плохого слышпл про баблы. кому-то пригодилось на практике?

    • @webelart
      @webelart  Před rokem

      Что именно плохого? Вообще алгоритм довольно тяжёлый по времени O(n^2) поэтому лучше использовать более продвинутые, например quick sort O(n*logn). На практике только в универе нужен был, ещё при собесах :) Так нет, ещё не пригодилось ни разу. Но для практики самое то, на этих штуках по факту учатся понимать логику.

    • @user-jt9yd6vr8b
      @user-jt9yd6vr8b Před rokem

      Много раз использовал, и в релизном софте тоже. Если нет особых объёмов сортировки, то норм. Преимущества - просто и понятно.

    • @webelart
      @webelart  Před rokem

      @@user-jt9yd6vr8b Виктор на каком языке вы пишите, и какие продукты разрабатываете?

    • @user-jt9yd6vr8b
      @user-jt9yd6vr8b Před rokem +1

      @@webelartОх, это вопрос сложный. :) Так уж сложилось, что язык выбираю или дают под конкретное решение, привязки к чему-то одному нет. Сейчас самый большой проект на сопровождении (не в одно лицо) - Web-портал на PHP (частично на чистом со smarty, частично на yii2) с фронтом на JavaScript (Vue и Nuxt, местами чистый JS); частенько приходится на нём какие-то фичи делать в основном в части бэка, реже на фронте. Были заказы и проекты под всевозможные учётные системы и сопровождение бухгалтерского ПО (онлайн-порталы и Windows-программы), там приходилось с разными вещами работать на VBA (для Excel), Delphi и PHP. В последнее время начал работу с управлением разного рода железом под Raspberry Pi, Orange Pi и другие одноплатники; под это дело пока сделал небольшой проект по сетевому сканированию из обычного сканера на bash (видео у меня на канале есть); а сейчас настало время его апгрейдить и освоить под это дело Python (одну часть уже сделал, видео записал и выложил к себе, но сейчас времени не хватает проект продолжить). Ещё под пандемию сделал WebRTC-видеочат для локальной сети с web-сервером на Lazarus (изврат, на самом деле) и фронтом на jQuery. На практике её пока не удалось нормально опробовать и задействовать, но под развитие идеи есть, найти бы ещё время. Как-то так.

  • @albertrockalfredo8250

    Норм получилось. спасибо

    • @webelart
      @webelart  Před rokem

      Пожалуйста! 😘