Динамическое программирование гайд (как использовать, понимать, применять, dp трюки и оптимизации)

  Рет қаралды 2,974

Кодируем

Кодируем

Күн бұрын

Пікірлер: 23
@ДмитрийС-м5м
@ДмитрийС-м5м 5 ай бұрын
Я вообще не пишу никому комментарии, но на твоем канале делаю это второй раз. Просто браво, супер полезный контент, из каждого видео можно извлекать и извлекать что то новое. Огромный респект за всю твою работу.
@alexPCking
@alexPCking 5 ай бұрын
@@serhii_devпотому что долго, никто не хочет разбираться ни в чем. все хотят через ролики по 5 -10 минут стать экспертами)
@koduryem
@koduryem 5 ай бұрын
спасибо большое)
@CadCabade
@CadCabade 4 ай бұрын
Хорошему видео таймкоды не помешают 00:00 Введение 5:56 Объяснение Knapsack 14:17 Рекурсия: Идея 29:42 Рекурсия: Leap of Faith 38:55 Best Time to Buy and Sell Stock (рекурсивный подход Top-Down) 1:05:25 Итеративный подход Bottom-Up 1:16:23 Оптимизация 1 по памяти (Space Optimization) 1:25:14 Оптимизация 2 1:29:42 Оптимизация 3 1:32:50 Дальнейшие оптимизации 1:38:28 Выводы по Задаче 1 1:46:30 Best Time to Buy and Sell Stock 2 1:55:12 Best Time to Buy and Sell Stock 3 2:04:35 Best Time to Buy and Sell Stock 4 2:07:00 Best Time to Buy and Sell Stock With Cooldown 2:10:20 Maximum Subarray 2:22:02 Maximum Subarray - Решение 2 2:26:23 Maximum Subarray - Решение 3 2:30:30 Maximum Subarray - Решение 4 2:37:38 Предложение о коллективности
@chu_ri5470
@chu_ri5470 2 ай бұрын
2:10:20 К слову, самое красивое решение это именной Kadane's Algorithm. Потребуется константа по памяти. При желании его можно вывести из последнего решения в видео. Такой приём часто работает.
@klyuk88
@klyuk88 4 ай бұрын
Огромный респект за контент! 🤝
@42px
@42px Ай бұрын
Балдежный ролик, про cache line интересно
@baltichka_chan
@baltichka_chan 5 ай бұрын
Огромное спасибо, очень полезное видео 💜
@ЕкатеринаКригер-ы9в
@ЕкатеринаКригер-ы9в 2 ай бұрын
пока идёт объяснение слова - всё понимаю как доходит до кода - НОЛЬ просто ноль у меня вообще объяснение не укладывается в понимание кода ((((
@koduryem
@koduryem 2 ай бұрын
Нужно наработать переход образ в голове -> код и наоборот. Больше писать код и всегда представлять, а не тупо писать буквы или переписывать. И отработать рекурсию хорошенько сначала. Так всегда сначала. Потом проще. Паника и стресс ток помешает учиться. Не переживай
@heybeachMIN
@heybeachMIN 2 ай бұрын
Блин, решение(1 задачи) с рекурсией оч сложно понять, было бы круто, если бы ты в кратце как-нить дерево стэка вызовов на каком-нибудь примере ещё рисовал, чтоб более наглядней было. Типа, я смотрел видео про рекурсию(наверно, ещё раз пересмотрю), но всё равно чёт сложно. С решениями где используются матрицы/массивы уже понятнее.
@koduryem
@koduryem 2 ай бұрын
Дерево стека вызовов не масштабируемо для решения других задач. Поэтому смысла нет особо. Нужно сменить мышление на рекурсивное/декларативное
@heybeachMIN
@heybeachMIN 2 ай бұрын
@@koduryem Да, я уже разобрался, я там затупил и не понял, что за taken)))
@heybeachMIN
@heybeachMIN 2 ай бұрын
@@koduryem А, кст, вопрос хотел задать, планируешь ли ещё видео про алгоритмы снимать? Там, например, разбор каких-то ещё задач либо может быть про паттерны опять.
@Дмитрий-э7ъ9ч
@Дмитрий-э7ъ9ч 5 ай бұрын
Спасибо. Вы очень интересно рассказываете, но очень долго. Несколько раз повторяете одно и то же.
@AlexeyPolyakov-c2n
@AlexeyPolyakov-c2n 5 ай бұрын
Я думаю что на подготовку текста и более качественный монтаж несоразмерно больше сил уйдёт А тут такой сложный материал и то очень качественно, так что очень хорошо что так есть :) А для себя можно после просмотра создать небольшой конспект и все :)
@CadCabade
@CadCabade 4 ай бұрын
Повторение помогает пониманию и закреплению. Это хорошая практика наоборот.
@Teacification
@Teacification 5 ай бұрын
20 минут видео, а к решению не приступали, как такое смотреть ? Пытаюсь осознать, что за эти 20 минут посмотрел, но ни чего вспомнить не могу, как так ?
@koduryem
@koduryem 5 ай бұрын
Нужно тренировать короткую память, если она слабая. Запоминать и быть внимательнее. Пробуй останавливаться и проверять понял ли ты или просто просмотрел. В таких темах это работать не будет, это не "бери так делай". Делай что-то вроде рефлексии - понял, что просмотрел какие-то ключевые моменты - останови и вспомни, что там было, про что, почему и как. Потом дальше. Ты должен в такие паузы уметь ответить "да, идея вот такая была, надо пытаться так-то делать, стремиться к тому-то тому-то", возможно без прямо подробностей, все помнить не нужно. Тема сама по себе сложная, поэтому не расстраивайся. Попробуй просмотреть ролик по рекурсии и все, что с ней связано (у меня ранее был). Тут немножко нужно сменить мышление с итеративного.
@MrSanya789
@MrSanya789 5 ай бұрын
Понимаешь это видео не про само решение, а про то как увидеть паттерн и научится его применять. Если просто про то как решать knapsack, сам алгоритм конкретной задачи, то таких видео очень много. В первых 20 минутах очень много про ментальную модель, внутренний взор и общий подход.
@koduryem
@koduryem 5 ай бұрын
Попробуй посмотреть еще комменты под видео "Как решать алгоритмы на Leetcode Часть 2", там CadCabade задавал вопросы и мы поговорили немного.
@CadCabade
@CadCabade 4 ай бұрын
А вот и упомянутый выше CadCabade :) Как человек с похожей проблемой, не могу посоветовать задумываться каждые несколько минут, что ты сейчас услышал, и пытаться сразу отрефлексировать. Предлагаю тебе попробовать еще такой подход, когда смотришь подобные видео. Пока смотришь, набрасываешь на листок самые общие фразы. Обычно, рассказчик, если он такой же хороший, как автор, отдельно их выделяет и подчеркивает, на слайдах или словами. Затем дожидаешься наконец момента, когда рассказчик приступает к решению и решаешь вместе с ним, тут у тебя уже по идее такой проблемы не будет, так как мозгу твоему на практической части проще будет следить за видео. Прорешиваешь кое-как, не обязательно идеально прям прорешать, но главное, чтобы ты понял суть. Возможно прорешиваешь всё и доходишь до конца видео. Но в конце у тебя 100% останутся разные вопросы и дыры, которые ты не смог закрыть. И вот тут-то ты начинаешь смотреть видео заново, можно на 1.5 скорости. И теперь для тебя то, что рассказчик объясняет в начале начнёт иметь смысл и ты начнёшь понимать, про что он вообще говорит и до тебя начнёт доходить. Ответ автора тоже подходит, но к сожалению не всем типам изучающих. Я вот так, как он описал, не могу, я изучаю через практику и боль ошибок, а потом только дополняю теорией.
@heybeachMIN
@heybeachMIN 3 ай бұрын
@@CadCabade вот кстати хороший совет. Мне тоже часто помогает пересмотреть видео неск раз, потом становится всё яснее и яснее сама идея решения. А насчёт записывать общий смысл интересно попробую.
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Почему «Люди в черном» не просто комедия
18:10