5 Simple Steps for Solving Dynamic Programming Problems
In this video, we go over five steps that you can use as a framework to solve dynamic programming problems. You will see how these steps are applied to two specific dynamic programming problems: the longest increasing subsequence problem and optimal box stacking. The five steps in order are as follows:
1. Visualize examples
2. Find an appropriate subproblem
3. Find relationships among subproblems
4. Generalize the relationship
5. Implement by solving subproblems in order
After taking an in depth look at these problems, at the end of the video we will also have a discussion about common subproblems that you may encounter while solving dynamic programming problems.
Error correction: for the box problem, using dictionary solutions only works if we are given unique boxes -- using a list of subproblems would be a better way to solve it if we wanted to handle duplicate boxes (similar to how we did the longest increasing subsequence).
Support: https://www.patreon.com/reducible
This video wouldn't be possible without the open source manim library created by 3blue1brown: https://github.com/3b1b/manim
Here is link to the repository that contains the code used to generate the animations in this video: https://github.com/nipunramk/Reducible
Music:
Prelude No. 2 by Chris Zabriskie is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/by/4.0/)
Source: http://chriszabriskie.com/preludes/
Artist: http://chriszabriskie.com/
All other music by Aakash Gandhi
Видео 5 Simple Steps for Solving Dynamic Programming Problems канала Reducible
1. Visualize examples
2. Find an appropriate subproblem
3. Find relationships among subproblems
4. Generalize the relationship
5. Implement by solving subproblems in order
After taking an in depth look at these problems, at the end of the video we will also have a discussion about common subproblems that you may encounter while solving dynamic programming problems.
Error correction: for the box problem, using dictionary solutions only works if we are given unique boxes -- using a list of subproblems would be a better way to solve it if we wanted to handle duplicate boxes (similar to how we did the longest increasing subsequence).
Support: https://www.patreon.com/reducible
This video wouldn't be possible without the open source manim library created by 3blue1brown: https://github.com/3b1b/manim
Here is link to the repository that contains the code used to generate the animations in this video: https://github.com/nipunramk/Reducible
Music:
Prelude No. 2 by Chris Zabriskie is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/by/4.0/)
Source: http://chriszabriskie.com/preludes/
Artist: http://chriszabriskie.com/
All other music by Aakash Gandhi
Видео 5 Simple Steps for Solving Dynamic Programming Problems канала Reducible
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
A Preview for Data Structures and AlgorithmsWhat Actually Is a Data Structure?Building Collision Simulations: An Introduction to Computer GraphicsBreadth First Search (BFS): Visualized and ExplainedDepth First Search (DFS) Explained: Algorithm, Examples, and CodeIntroduction to Graph Theory: A Computer Science PerspectivePageRank: A Trillion Dollar AlgorithmHuffman Codes: An Information Theory PerspectiveFFT Example: Unraveling the RecursionThe Unreasonable Effectiveness of JPEG: A Signal Processing ApproachThe Discrete Fourier Transform: Most Important Algorithm Ever?The Traveling Salesman Problem: When Good Enough Beats Perfect5 Simple Steps for Solving Any Recursive ProblemWhat Is Big O Notation?A* Search: How Your Map Applications Find Shortest RoutesHow PNG Works: Compromising Speed for QualityA Strange But Elegant Approach to a Surprisingly Hard Problem (GJK Algorithm)The Simple and Elegant Idea behind Efficient Dynamic ArraysHow Computers Draw Weird Shapes (Marching Squares)The Fast Fourier Transform (FFT): Most Ingenious Algorithm Ever?Towers of Hanoi: A Complete Recursive Visualization