Быстрая сортировка

Sdílet
Vložit
  • čas přidán 25. 07. 2024
  • Привет, сегодня разберем алгоритм быстрой сортировки и реализуем его на языке программирования си. Поехали!
    ТАЙМ КОДЫ
    00:00 - вступление
    00:19 - алгоритм быстрой сортировки (теоретическая часть)
    02:21 - алгоритм быстрой сортировки (разбор кода)
    13:34 - заключение
    мой инстаграм: / dima_luchyk

Komentáře • 55

  • @user-qh8mr4iz5p
    @user-qh8mr4iz5p Před 8 měsíci +3

    редко оставляю комментарии, но твой ролик и твои видео не могут заставить пройти мимо, успехов тебе и всех благ моральных и физических, спасибо за твой труд

  • @specwnm
    @specwnm Před 2 lety +5

    Сегодня решил немного поразабираться в быстрых алгоритмах и искал инфу по quicksort'y, только у тебя нашел понятное видео.Спасибо!

  • @jakelucas5944
    @jakelucas5944 Před 2 lety +2

    Спасибо тебе, парень. Наконец все ясно и понятно объяснил где чего и откуда берется. Я даже у Хирьянова не нашел про быструю рекурентную сортировку.

  • @user-wv1zw3oh5t
    @user-wv1zw3oh5t Před 2 lety +3

    Большое спасибо! очень доходчиво! Успехов тебе!

  • @GogiVerniger
    @GogiVerniger Před 3 lety +8

    весьма признателен, отличный урок! успехов тебе =)

  • @windrose2837
    @windrose2837 Před 2 lety +2

    ты молодец! прекрасно преподносишь информацию

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

    Очень классно и понятно все объяснил, это то что я искал

  • @zergzerg4844
    @zergzerg4844 Před 2 lety

    Шикарно, спасибо огромное!!

  • @matveykhodosevich7029
    @matveykhodosevich7029 Před 2 lety

    красавчик!) спасибо за видео)

  • @quadroninja2708
    @quadroninja2708 Před 2 lety +1

    Классно, очень доходчиво!

  • @n1k1ta73
    @n1k1ta73 Před 2 lety +3

    Уважвемый автор данного видео, я благодарен вам за ваш труд и желаю успехов в этом нелегком деле. Позвольте мне привести немного конструктивной критики, которая, я надеюсь, позволит вам улучшить качество ваших роликов.
    1) данный алгоритм изложен некорректно и он не работает правильно с любым набором чисел. Если элемент middle является наибольшим либо наименьшим, то алгоритм перестает работать.
    2) у вас есть блок кода
    while (s_arr[left] < middle){...}
    в тот момент, когда оба числа равны 15 вы говорите "Поскольку 15 не меньше чем 15, то берем это занчение", после чего переходите к коду внутри фигурных скобок. При этом, даже на видео видно, что вы поняли, что сказанное вами неправильно и программа так работать не будет.
    3) Пишите на все тесты, они позволят вам избежать подобных ошибок. При этом для теста нужно генерировать массив случайных чисел (к примеру, размером тысяча элементов).

    • @starkiller-1
      @starkiller-1 Před 2 lety

      А исправить то как

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

      Вот вот, тоже не получилась программа по данному алгоритму, ни один массив не отсортировал. Объяснил все понятно, но код неправильный

  • @narimz
    @narimz Před 3 lety +1

    Спасибо очень понятно!

  • @ivankuzmin4132
    @ivankuzmin4132 Před 2 lety

    Спасибо. Пока твое объяснение лучшее

  • @moooon696
    @moooon696 Před 2 lety

    Большое спасибо!!

  • @str0esku
    @str0esku Před 3 lety +12

    Молодец, очень доступно объяснил и качественно все снял. Продолжай)

  • @rustautopanel
    @rustautopanel Před 3 lety

    Спасибо!

  • @mar1koshka
    @mar1koshka Před 2 lety

    лучший!! спасибо большое!!!

  • @cr_obito
    @cr_obito Před 3 lety

    Хорош брат Респект

  • @danilasikerin1239
    @danilasikerin1239 Před rokem

    От души, спасибо

  • @dimamichaelis3395
    @dimamichaelis3395 Před rokem

    спасибо!

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

    лучший

  • @maesnes
    @maesnes Před 3 lety

    С питониста лайк :))

  • @rozanek9372
    @rozanek9372 Před 2 lety

    лайк

  • @user-nt8kq8vt7f
    @user-nt8kq8vt7f Před měsícem

    мы разбиваем массив относительно опорного элемента? или главное чтобы в левой части массива были все элементы больше равны за опорный, но при этом перед опорным может стоять число больше за него? тут перед 15 стоит 19

  • @artemlobanchikov2270
    @artemlobanchikov2270 Před rokem +1

    мне хоть кто то объяснит зачем вам left, если он равен нулю всегда ?

  • @generalpashon
    @generalpashon Před 2 lety +1

    Крут, все понятно объяснил. Теперь эта сортировка у меня в классе ArrayUtils, т.к. в ~46 раз быстрее встроенной в java Arrays.sort();
    (P.s. я понимаю, что скорость работы алгоритма зависит от входных данных, потому сравнение не точно)

    • @quadroninja2708
      @quadroninja2708 Před 2 lety

      интересно, вроде бы над встроенными функциями работают так тщательно, что превзойти их в общем случае невозможно. Да и в качестве стандартной сортировки обычно быстрая и стоит

    • @generalpashon
      @generalpashon Před 2 lety

      @@quadroninja2708 мб в стандартной другой алгоритм

    • @quadroninja2708
      @quadroninja2708 Před 2 lety

      @@generalpashon вряд ли, быструю можно назвать лучшей, в общем случае

  • @user-vu5ox4ky3d
    @user-vu5ox4ky3d Před 2 lety +3

    код не рабочий. Внимательней пиши код

    • @nth-prog8562
      @nth-prog8562 Před rokem

      Его код работает. Думаю вы где-то накосячили, но его код ну такое себе немного, так как зачем-то он нашел для левой части большее, а для правой меньшее и поменял их местами... Можно было просто для левой найти меньшее, а для правой большее. Тут я думаю он немного не разобрался, а так неплохо

  • @nth-prog8562
    @nth-prog8562 Před rokem +2

    Логичнее было бы пройтись по массиву и те числа, которые меньше добавить в меньший массив, а большие числа соответственно в больший массив. Вместо того, чтобы сначала найти меньший и больший в первом и во втором массиве соответственно, так как количество операций просто возрос

    • @TheSky5028
      @TheSky5028 Před rokem

      согласен, автор клоун

    • @nth-prog8562
      @nth-prog8562 Před rokem

      @@TheSky5028 Не ну это слишком, просто хотел поделиться тем что можно было бы исправить

    • @TheSky5028
      @TheSky5028 Před rokem

      @@nth-prog8562 клоун 100% даже не защищай его

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

      Вы используете доп память, что не очень хорошо.

  • @andreygurenkoff2721
    @andreygurenkoff2721 Před rokem

    Молодец. Но есть замечание. А если слева все элементы меньшие опорного , но и справа тоже остались меньшие опорного ? хотелось бы поменять эти, что справа с какими-то левыми, но мы не можем. И тогда что делать ? опорный меняем ? и соответственно смещается "координата" опорного. Верно ? у тебя кстати есть такая ситуация в твоем примере, но ты про неё промолчал :)

  • @kamilaliyev5253
    @kamilaliyev5253 Před 3 lety +2

    Лайк и подписка бро. Продолжай именно так. Кстати ты ходил на какие то курсы ?

    • @GOALACTION
      @GOALACTION  Před 3 lety

      Спасибо! на курсы не ходил. Все изучаю самостоятельно.

    • @spolyr
      @spolyr Před 2 lety

      @@GOALACTION Привет, молодец! сам тока начал изучать си, потом думаю си++. правда не с нуля, за плечами ассемблер и немного паскаль. но после ассемблера немного диковенько языки высокого уровня.
      Тут простой пример на си пропустил через дизассемблерный отладчик, ольку, был удивлен насколько приблеженно код и короткий, не то что на паскале )
      Успехов во всем! )

  • @cr_obito
    @cr_obito Před 3 lety

    Брат можешь мне помочь или дать подсказки там есть задачи по рекурсий

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

    На массиве 1, 5, 6, 4, 9, 2 не работает

    • @spectrespect
      @spectrespect Před rokem +1

      Пока не уверен, но по всей видимости проблема в том, что индексы left и right в один момент пересекают друг друга и right становится левее left. В таком случае нужно вызывать рекурсивные функции немного по другому, а именно qs(s_arr, first, left) и qs(s_arr, right, last).

  • @user-vn7ob5gh8m
    @user-vn7ob5gh8m Před 3 lety

    Я конечно уважаю СИ, но многие просто запутаются в коде, ПАЙТОН будет более понятен.

    • @GOALACTION
      @GOALACTION  Před 3 lety +4

      Я с тобой согласен! Пайтон гораздо понятнее для большинства людей, но сейчас я изучаю СИ, поэтому и код показываю на этом языке.

    • @user-ps4oq4gm9j
      @user-ps4oq4gm9j Před 3 lety +4

      а что тут не понятного? Очень доступно и адекватно написанный код.

    • @trypophobia7497
      @trypophobia7497 Před 2 lety +1

      Как по мне Си для обучения алгоритмов и структур данных хороший выбор так как языков с Си подобным синтаксисом гораздо больше чем с другим... Единственное что я бы сделал терминальный случай(крайний случай / ранней возврат) в начале чтоб не вставлять весь код в блок if

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

    код не работает

  • @balfegorucin754
    @balfegorucin754 Před 2 lety +1

    бесит музыка на заднем фоне, вообще не понимаю зачем её ставят, ведь надо сконцентрироваться и подумать , а не просмотреть легкое видео о выходе новинок чего-то.но по крайней мере тут она тише голоса и это уже хорошо.
    зачем лишний раздражитель если ко всему прочему у всех вкусы разные.ставьте классику незнаю тогда что бы было нейтрально.