
MIT OpenCourseWare
4 HN recommenders · recommended in 4 months, 2016–2021
51:47 · 2.9M views · Jan 14, 2013
Erik Demaine's MIT 6.006 lecture introducing dynamic programming through Fibonacci numbers and shortest paths. It covers memoization, subproblems and optimal substructure.
Recommended as a clear introduction to dynamic programming from a well-regarded instructor.
4 comments from Hacker News
> on interviews they want you to explicitly construct the array very often i.e. it's the different between hire and a strong hire exactly because @lru_cache is much easier are you serious? someone really asked you to "use array". Beyond stupid if they really did. > you can easily blow the stack for real production grade implementations using recursion recursive solution doesn't automatically mean using a the method stack. you can implement recursive solutions using explicit stack . > dynamic programming proper please. There is no "proper" dynamic programming. Please watch this MIT intro this video .
When you deal with large data sets (e.g. Hadoop/Spark...), BigO starts to hit badly. Dynamic Programming also requires you to have a clue about it. See this video for some cool explanations.
You may also like a couple of lectures by Erik Demaine: Dynamic Programming I: Fibonacci, Shortest Paths this video Dynamic Programming II: Text Justification, Blackjack [LINK]
I don't think I've ever been asked a DP problem in an interview, and only had to use it while programming once . That said, I liked the MIT lecture on it: this video