#12. Быстрая сортировка слиянием (merge sort) | Алгоритмы на Python

Узнаете как работает быстрый алгоритм сортировки методом слияния (merge sort). Приводится пример его реализации на Python.
algorithm-sort-merge-list.py: github.com/selfedu-rus/python...
#11. Слияние двух упорядоченных списков: • #11. Слияние двух упор...

Пікірлер: 25

  • @user-ni1ty8ul4l
    @user-ni1ty8ul4l3 ай бұрын

    Сергей, очень большое спасибо! Классно, что используете режим отладки! Так намного понятнее, что за чудеса творятся в этой рекурсии🌀

  • @user-ji5wf5ke4b
    @user-ji5wf5ke4b3 жыл бұрын

    Спасибо огромное за ваш труд!

  • @friend1cat
    @friend1cat3 жыл бұрын

    Спасибо, Сергей!

  • @ruzoompartygmail4273
    @ruzoompartygmail42736 ай бұрын

    Спасибо автору большое. Очень поятное и качественное объяснение!

  • @timur8216
    @timur82163 жыл бұрын

    Класс! Лучший канал!

  • @pilina_
    @pilina_2 жыл бұрын

    спасибо за видео!

  • @user-lv9de4hg9w
    @user-lv9de4hg9w7 күн бұрын

    а почему в после переобъявления переменной а2 на последующих итерациях, подсписки под тем же именем не удаляются?

  • @user-ru5xo5be8y
    @user-ru5xo5be8y Жыл бұрын

    Спасибо!👌

  • @MrIgor989
    @MrIgor9893 жыл бұрын

    Спасибо

  • @alik_haribo287
    @alik_haribo2873 ай бұрын

    друг, возвращайся на ютуб

  • @user-ym3yt1uq7s
    @user-ym3yt1uq7s Жыл бұрын

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

  • @selfedu_rus

    @selfedu_rus

    Жыл бұрын

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

  • @pnp-manfamilia8239
    @pnp-manfamilia82392 жыл бұрын

    Здравствуйте. А что подразумевается под операцией? Это сравнение и обмен или что вообще?

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    смотря в каком контексте упоминается

  • @sevakvart1111
    @sevakvart11113 жыл бұрын

    5+

  • @petrovsky1982
    @petrovsky19822 жыл бұрын

    Ещё вопрос: можно объяснить как работает конструкция c + a[i:] + b[i:]? А конкретно почему на этапе сложения (конкатенации) получается -3, 5, 9, а не -3, 5, -3, 5, 9? Ведь в списке с уже находится -3, 5 и вроде как значения a или b не удаляются...

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

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

  • @user-ru2gn4uw4z

    @user-ru2gn4uw4z

    Жыл бұрын

    О я предполагаю, что тут в программе сливаются остатки от одного из массивов. По условию один из них уже пуст, значит срез ничего не прибавит))

  • @inbox765

    @inbox765

    Жыл бұрын

    @@user-ru2gn4uw4z именно так

  • @petrovsky1982
    @petrovsky19822 жыл бұрын

    Как настроить PyCharm так же как он настроен у Вас? С визуализатором и т.п.?

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    С каким визуализатором?

  • @petrovsky1982

    @petrovsky1982

    2 жыл бұрын

    @@selfedu_rus я вижу у Вас даются пошаговые результаты работы программы, т.е. визуализация. 8, - 8 и т.д.

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    @@petrovsky1982 это называется отладкой программы (debug). Ставится точка останова, программа запускается в режиме debug и далее клавиша F8 (выполнить следующий шаг)

  • @petrovsky1982

    @petrovsky1982

    2 жыл бұрын

    @@selfedu_rus спасибо

  • @user-nu3ot7td1j
    @user-nu3ot7td1j10 ай бұрын

    def merge(a): if len(a) == 1: return a else: return merge_sort(merge(a[:len(a)//2]), merge(a[len(a)//2:])) - я реализовала так, короче и для меня более читабельней