УСКОРЬ СВОЙ КОД В МИЛЛИОН РАЗ | РЕКУРСИЯ | АЛГОРИТМЫ

preview_player
Показать описание
Скидка 45% по промокоду AlekOS до 31.12.21

Рекурсия - вызов функции самой себя.
При достаточно большом объеме данных, рекурсия просто сломает вам код.

Нехватка места и нехватка времени.
Это 2 проблемы, которые мы научимся решать, оптимизируя рекурсивные алгоритмы при помощи динамического программирования и эмуляции стека.

Перед этим - важно понять, как рекурсия работает пошагово, как ее составлять и какие задачи она может решать.
Обо всем об этом - в данном видео.

✔️ Ссылки:

❤️ Поддержка канала:

00:00 Введение
00:48 Рекурсия
01:52 Реклама
03:12 Палиндром
05:34 Рекурсия и стек
07:46 Факториал
09:08 Переполнение стека
09:53 Обход дерева
12:44 Виды рекурсии
14:11 Фибоначчи
17:34 Проблемы рекурсии
18:15 Динамическое программирование
25:39 Эмуляция стека
Рекомендации по теме
Комментарии
Автор

Суть видео коротко: Как ускорить код с рекурсией в 1 000 000 раз? Переписать код, не используя рекурсию.

konstantinsh
Автор

Великолепный канал. Подробно, понятно и глубоко проработанный материал. Видео с инфографикой просто прекрасно сочетаются! Продолжайте развивать канал, а мы вас поддержим. Прошу, создайте ролик о BIOS и инициализации в момент включения PC, а также о взаимодействии устройств Matheboard, CPU, VGA, RAM и т.д., boot OS и о влиянии BIOS на систему вцелом.

gmadmin
Автор

Очень понятное объяснение - с каждым вызовом все понятнее %) Кстати, было бы круто увидеть ролик про асинк программирование, но это уже влажные.

brr
Автор

Alek, вы делаете очень качественный, понятный и актуальный контент по весьма специфическим темам. Восторгу нет предела)

vladislavzainullin
Автор

*Проснитесь и пойте мистер Фримен, вас снова ждут великие уроки программирования*

kiezqyy
Автор

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

meerable
Автор

Довольно сложная тема простыми словами) Пришлось пересматривать несколько раз, дабы вникнуть в суть, но в итоге потихоньку догнал тему. Спасибо за этот ролик 👍

alexfantast
Автор

Лучшее объяснение рекурсии, которое я когда-либо видел!
Спасибо большое)

Pavel_C
Автор

Очень доходчиво рассказываешь, и что немало важно, наглядно. Спасибо!

mjrquvb
Автор

Отличный труд! Благодарю)
Так можно сократить проверку базового случая в 2 раза: if(n < 2) return n;

VitaliyZlobin
Автор

Круто рассказываешь, конечно, под конец чёт уснул из-за недосыпа, а так красиво чётко и понятно. Мне приятно потратить своё время на данное видео.

shumiagavara
Автор

@Alek OS, всем сердцем и разумом благодарю за это видео. Пересмотрела весь канал, дошла до рекурсии...

Учу Python, тут нативка про обучение Python... потом смотрю пятую минуту видео, где представлен кусочек кода. Без задней мысли кидаю кусочек кода себе в VSC в .py файл, чтоб потестить. Бьет ошибки. Решаю как всегда, что я дура и чего-то не так написала. Начинаю дебажить... через 2, 5 часа в самом конце правок случайно узнаю, что это Java.

Получилось, что я перевела случайно кусок кода с Java на Python... это как с немецкого на английский, не зная немецкий... после всех стадий гнев, торг, восторг... спасибо огромное! такая шикарная практика на ровном месте!

До конца вашего видео для прикола и практики переводила все примеры кода)))

mianaviatte
Автор

Лайк поставили, ждем продолжение ассемблера

mihfil
Автор

Помню когда в первый раз столкнулся с рекурсией, дали задачу в 1С разобрать спецификацию изделия, в котором много узлов, состоящих из узлов и номенклатур входящих в них, вот тогда то я был в тупике... сейчас с улыбкой вспоминаю просматривая данное видео. Автор спасибо большое😊

vadimsergeev
Автор

Огромное спасибо за видео, теперь гораздо лучше понимаю рекурсию. Отдельное спасибо за то, что в конце показал способ создания псевдо рекурсии. Решая задачки на литкоде часто видел, как используют стек со специально созданным типом и циклом while(stack.size > 0), и теперь понимаю что это такое 😊

TpyHaGuBaTop
Автор

Очень хорошие объяснения. Впервые что-то дельное о программировании, а не только ересь про заработки, и объяснено нормальным русским языком, а не тем, на чем сейчас разговаривает большинство "программистов". Даешь алгоритмы и железо! =) Да здравствует нижний уровень! ))

jaxjaximus
Автор

Я не очень понял. А ускорение в миллион раз где произошло? Когда мы применили итеративный способ? Так вроде это самый первый способ которому учатся все програмисты. В чем тогда суть видео? Рассказать про рекурсии? Интересно, конечно, но тогда это дичайший кликбейт. Хотя само видео клевое.

xwlfvdd
Автор

Одно из самых понятных объяснение алгоритма для фибоначи, спасибо)

AleksandrNeo
Автор

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

whoareyouqqq
Автор

Случайно попал на ролик, заинтересовал названием (которому не поверил, как оказалось и правильно) и тем, что мелькнул Python.
Итог: рассказ, где-то неплохой, но прям для новичков, а весь смысл сводится к "используйте адекватный алгоритм". Единственное, что стек объясняет по ходу ролика.

Но не могу сказать, что посмотрел зря, уж очень повеселила аудитория)
Хммм, мне понравилось как объяснили стек, я разобрался, когда будет:
* асинхронное программирование
* язык ассемблера
* алгоритмы и железо

Насколько же это не линейно... И такое желание залезть глубже, когда не разобрались даже на поверхности.
Лучше этого только те люди, которые задают вопросы по тому (!!!) что объясняется в ролике

nkstr