Перейти к содержимому

Динамическое программирование: анимация и пример на C++ | Мемоизация против табуляции (числа Фибо...

Tech in Motion

0:00 / 0:00

Динамическое программирование: анимация и пример на C++ | Мемоизация против табуляции (числа Фибо...

132 просмотра · 12 дн. назад
Tech in Motion
40 подписчиков
132 просмотра · 12 дн. назад
Трехстрочная рекурсивная функция Фибоначчи требует более 40 миллиардов вызовов fib(50). Одно изменение уменьшает это число до менее чем 100. Изучите дерево рекурсии и его перекрывающиеся подзадачи, два основных компонента динамического программирования, затем постройте нисходящую мемоизацию и восходящую табуляцию на C++, сократите пространство до O(1) и получите рецепт для каждой задачи динамического программирования. В этом видео: • Почему наивные рекурсивные числа Фибоначчи являются экспоненциальными • Перекрывающиеся подзадачи и оптимальная подструктура • Мемоизация сверху вниз в C++ • Табуляция снизу вверх в C++ • Пространство O(1) с двумя переменными • Методы «сверху вниз» и «снизу вверх», а также 5-шаговый рецепт динамического программирования ⏱️ Разделы 0:00 Сорок миллиардов вызовов 0:18 Шаг 1 · Задача: Число Фибоначчи (LeetCode 509) 0:48 Шаг 1 · Понимание примера 1:07 Шаг 1 · Ограничения и что они нам говорят 1:29 Шаг 2 · Подход: перебор, прямо из определения 1:48 Шаг 2 · Подход: почему это так медленно: дерево рекурсии 2:15 Шаг 2 · Подход: два компонента динамического программирования 2:35 Шаг 2 · Подход: сверху вниз: мемоизация 2:51 Шаг 3 · Решение: пробный запуск, дерево рушится 3:19 Шаг 3 · Код: мемоизация на C++ 3:38 Шаг 3 · Решение: табуляция снизу вверх 4:03 Шаг 3 · Решение: экономия места: две переменные 4:19 Подход сверху вниз против подхода снизу вверх 4:38 Рецепт решения задач динамического программирования 5:01 Краткий обзор 🧩 Практика LeetCode 509 · Числа Фибоначчи → https://leetcode.com/problems/fibonac... LeetCode 1137 · N-е число Трибоначчи → https://leetcode.com/problems/n-th-tr... LeetCode 70 · Подъем по лестнице → https://leetcode.com/problems/climbin... 💻 Полный код на C++: 📺 Анимированные структуры данных и алгоритмы — анимация на C++. Полный плейлист: [добавить ссылку на плейлист] ⏮️ Предыдущая серия: Эпизод 32 · Минимальное остовное дерево ⏭️ Следующая серия: Эпизод 34 · Одномерный динамический программирование 👍 Поставьте лайк видео и подпишитесь, чтобы получать больше анимационных материалов по структурам данных и алгоритмам. #ДинамическоеПрограммирование #DSA #Cpp #структурыданных #Интервью #Алгоритмы #Технологии #Информатика #MNC #FAANG #Amazon #Microsoft #Google