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

  Рет қаралды 23,562

selfedu

selfedu

Күн бұрын

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

Пікірлер: 26
@Лена-в1н6ы
@Лена-в1н6ы 6 ай бұрын
Сергей, очень большое спасибо! Классно, что используете режим отладки! Так намного понятнее, что за чудеса творятся в этой рекурсии🌀
@user-ji5wf5ke4b
@user-ji5wf5ke4b 3 жыл бұрын
Спасибо огромное за ваш труд!
@timur8216
@timur8216 3 жыл бұрын
Класс! Лучший канал!
@ruzoompartygmail4273
@ruzoompartygmail4273 10 ай бұрын
Спасибо автору большое. Очень поятное и качественное объяснение!
@friend1cat
@friend1cat 3 жыл бұрын
Спасибо, Сергей!
@pilina_
@pilina_ 2 жыл бұрын
спасибо за видео!
@АлександрСолодников-ф8с
@АлександрСолодников-ф8с Жыл бұрын
Спасибо!👌
@MrIgor989
@MrIgor989 3 жыл бұрын
Спасибо
@СергейНауменко-ь6н
@СергейНауменко-ь6н Жыл бұрын
Сергей, а про динамическое программирование можете рассказать или может ссылку на обучающий материал скинуть, я Хирьянова по смотрел, но почему понял слабовато
@selfedu_rus
@selfedu_rus Жыл бұрын
Там ничего сложного нет. Суть в том, что задача разбивается на множество более мелких подзадач, которые объединяясь, дают решение исходной. Часто в динамическом программировании используется рекурсивный подход.
@alik_haribo287
@alik_haribo287 7 ай бұрын
друг, возвращайся на ютуб
@kiruhs1971
@kiruhs1971 2 ай бұрын
а зачем использовать рекурсию? Разве это не сводит на нет все попытки ускорить алгоритм и уменьшить уровень его сложности?
@НикитаХлобыстов-г2й
@НикитаХлобыстов-г2й 3 ай бұрын
а почему в после переобъявления переменной а2 на последующих итерациях, подсписки под тем же именем не удаляются?
@sevakvart1111
@sevakvart1111 3 жыл бұрын
5+
@user-nu3ot7td1j
@user-nu3ot7td1j Жыл бұрын
def merge(a): if len(a) == 1: return a else: return merge_sort(merge(a[:len(a)//2]), merge(a[len(a)//2:])) - я реализовала так, короче и для меня более читабельней
@pnp-manfamilia8239
@pnp-manfamilia8239 2 жыл бұрын
Здравствуйте. А что подразумевается под операцией? Это сравнение и обмен или что вообще?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
смотря в каком контексте упоминается
@petrovsky1982
@petrovsky1982 2 жыл бұрын
Ещё вопрос: можно объяснить как работает конструкция c + a[i:] + b[i:]? А конкретно почему на этапе сложения (конкатенации) получается -3, 5, 9, а не -3, 5, -3, 5, 9? Ведь в списке с уже находится -3, 5 и вроде как значения a или b не удаляются...
@selfedu_rus
@selfedu_rus 2 жыл бұрын
на память уже не помню, вы возьмите и в режиме отладки пошагово посмотрите как это работает
@ПавелТаранов-э1ч
@ПавелТаранов-э1ч Жыл бұрын
О я предполагаю, что тут в программе сливаются остатки от одного из массивов. По условию один из них уже пуст, значит срез ничего не прибавит))
@inbox765
@inbox765 Жыл бұрын
@@ПавелТаранов-э1ч именно так
@petrovsky1982
@petrovsky1982 2 жыл бұрын
Как настроить 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 спасибо
АЗАРТНИК 4 |СЕЗОН 1 Серия
40:47
Inter Production
Рет қаралды 1,4 МЛН
The Joker wanted to stand at the front, but unexpectedly was beaten up by Officer Rabbit
00:12
АЗАРТНИК 4 |СЕЗОН 1 Серия
40:47
Inter Production
Рет қаралды 1,4 МЛН