DP 1. Introduction to Dynamic Programming | Memoization | Tabulation | Space Optimization Techniques
Вставка
- Опубліковано 5 жов 2024
- Lecture Notes: takeuforward.o...
Make sure to join our telegram group for discussions: linktr.ee/take...
Pre-req for this Series: • Re 1. Introduction to ...
Full Playlist: • Striver's Dynamic Prog...
In this video, we have discussed what is memoization, what is tabulation, what is space optimisation with the classic Fibonacci problem. You might feel that this question has been done by you, but I will still urge you to watch this till the end because this is going to teach you a bunch of stuff.
If you have not yet checked our SDE sheet, you should definitely do it: takeuforward.o...
You can also get in touch with me at my social handles: linktr.ee/take...
The notes are added to the description :) Keeping the blackboard size as it is because I don't wanna stretch it and lose over quality. Cannot upload more than 1 video daily, because I have a full-time job, and it takes 3-4 hours per video, including editing and all.
Best best best!!!!!! ❤️❤️
Thanks for making these videos. It's astonishing that you can run your channel in such scale when having another full-time job!
Please increase the font size😶🌫😇
@@coding8000 you'll give the editor salary ?
Understood. And thanks for the video ❤️. It's pro explanation
Years ahead !!! Striver would be going into history as legend for all IT students!!!! 🙏🙏🙏🙏🙏🙏
indeed!
so fuckin true!
amen to that
Thank you for not forgetting us after joining google
@@vivekshah3995 😂😂🔥
Same feeling
He is the LION. Lion 🦁🦁🦁 never forget !!!
He born to do multitasking 🤩❤️
@@vivekshah3995 yes 😂
My take from the video:
1. Recursion: each function calls give rise to 2 more: therefore O(2^n)
2. Memoization: stores in an array: O(n)
Subproblem results are stored in an array, ensuring that each subproblem is solved only once.
3. Tabulation: iterative approach and takes O(n) subproblems from the smallest to the largest.
RECURSION: Top down: We start from answer, go to the base case and then go back
MEMOIZATION: TOP DOWN: avoids redundant calls done in recursion reducing time complexity
TABULATION IS: Bottom up: We start from the base case and we try to go to the required answer
Thank u
I am not a master of recursion but i completely understood the whole lecture and enjoyed it!
This is my first dp video that I watched and I am totally comfortable with it
Thanks striver bro❤️
Agreed bro 🔥
DP is very fancy word even after having 10yrs of experience I wasn't sure what is DP, you explained it really well. Thanks.
brother #Striver
Date 17/06/23
I start watching your video at night 2 Am and now it is 6:30 Am feeling very sleepy but the ( energy + enthusiasm ) you are showcasing in this video make me motivate to watch more 2 and 3 videos , Really nice content with great knowledge
Also dont compromise sleep , Its important. All the best!!
@@iamnoob7593 yes
Us Moment!
how is ur progress going
I am blown away with the quality of the content and especially the optimization of space complexity at the end ...Literally nobody started DP with this clarity and precision....More power to you striver
@Striver I am wising I started following your content 2 years back , seriously its a goldmine . Thanks for all what you do for tech community for free.
Not "just understood" but a different level of understanding. Hats Off !!!!!!
Omg raj!!! The amount of energy with which you delivered is really appreciated even a person will wake up from sleep😂😂 and most of people including me has already solved this problem but I was unaware of tabulation and space optimization... I was that involved in the lecture ki pata nahi chala kab 30 mins hogaye. Thank you raj for this amazing series definitely going to follow this
love the energy you have put in the entire video. it motivates me to watch 2,3 more lecture in one go.
I have started very late with DP Series but I am speechless after the video. Fibonacci looks like basic stuff for everyone but the way you have curated it using Memoization, Tabulation and Optimized (No extra space) deep rooted in my mind ("Understood"). Hats off brother!!! This gives me more energy and confidence to complete DP Series.
This guy is going to revolutionize the entire Indian coding community with his simple and clear explanations of very hard topics
thanks for the videos and notes and everything they are very helpful
the videos of dp series are good,you will fall in love with the first video itself
I have finally started after procrastinating for such a long time and now i feel why didn't i started earlier, because after the very first lecture, i have got addicted to this.
And this energy our STRIVER has.......ohh god he is really the Virat Kohli of programming world.
And hell yeah UNDERSTOOD !!!
You are really an inspiration for me. LOVE and RESPECT
The energy this guys put in videos is just awesome
understood. I cannot believe such quality content is for free, you are amazing
I am learning first time "dp" and I understood whatever you taught . Thank you striver bhai ❤️
Hope someday I'd have good problem solving skills like you ❤️.
watched your videos during college placements 3 years back , now back here for another interview. Keep up the awesome work man !
Where r u working?
I think there's a small bug in the space optimized code. For n=0, the output will be 1,instead of 0, as prev is storing 1. Hence, we should write a seperate if check for n=0. Rest all looks good.
The final code should look like ->
class Solution {
public:
void fib(int n) {
if(n==0){
cout
I didn't get it bro ,can we connect I'd ur on LinkedIn
@@Jason-qm8mu he is trying to say if we calculate the value of f(0), it will give output as 1 because prev is 1, and output is prev + prev2. He just added a condition of n == 0.
this man is helping more than thousand of students at free of cost.the content provided by him is better than any paid course and the topics covered by him are very tough but the way he explains solution are extraordinary.
really?
bhai jay jagannath 🙏 ....
you are the legend for all CSE student
Understood a lot of this even without studying your recursion series, now will go and watch the recursion series
What A energy ⚡ level You have! And You explained everything such a detail.. When You throwing your lecture it seems like you are into it. That's why the Lecture is best in UA-cam. Thank you so much!
Finally starting with DP series that i had been putting off for a long time...A wonderful lecture by striver as always. You are truly the best. Words are not enough to express my gratitude for your videos. You have made several difficult topics easy for me. I bet this one is going to be just as wonderful. Hopefully i can master this topic too by the end of your playlist. Oh forgot ..."UNDERSTOOD !!"
you are vardaan for IT students.
Thank you God for sending a teacher like you. 🙏😇❤
Thank You So much dada. Just got started with this amazing DP series. I manifest to have improved in DP, Graph, Tree, my DSA skills, my CP skills and work at a top product based company in the next couple of months. Thank You Striver, Thank You Universe, I am very grateful
Your energy while you speak is just amazing and ofc no doubt the best content!!!
Hats off to you Striver!✌
++
STEP1 Create a dp[n+1] array initialized to -1.
STEP2 Whenever we want to find the answer of a particular value (say n), we first check whether the answer is already calculated using the dp array(i.e dp[n]!= -1 ). If yes, simply return the value from the dp array.
STEP3 If not, then we are finding the answer for the given value for the first time, we will use the recursive relation as usual but before returning from the function, we will set dp[n] to the solution we get.
please pin this comment...its very useful
i'm beyond thankful!, those are indeed the best videos on DP!!
i have learnt graphs from your graphs series, it was amazing , helped me understand the main concepts
excited about DP !
Nothing can be better than this; I understood the whole thing, and by the time you optimised that space complexity to a complexity of 1, I was totally gone, like, "Man, this person is just out of this world." Thank you, Bhaiya, for this wonderful explanation.
the O(1) space comp. concept was really help for me and amazing approach.
The way you teach stuffs by deep dive into it is amazing man...
It's easy to understand what you teach because the way you teach.
Hats off to your hardwork and dedication!!!
understood all the concepts, so easy to grasp as u teach so good , thanks for these lectures bhaiya
Loved the way you related everything to recurrence relation.
thanks Raj for this. I have always been scared of DP like a lot of people. I hope this really helps me to improve myself in DP. God bless you man.
No one can beat the Energy level of striver while he teaches any concept🤩
ho na
I have always been scared of DP . But this video is Great . I understand DP in One video. God Bless You Man. ❤
A suggestion for those who are learning live, keep the live chat hiddden until and unless it is necessary. This series will be lit! 🔥and yes liked shared and understood
Great Playlists! Please add Time-stamps as it makes it easier to jump to required parts
Nothing better than this SIR ...... Thank you so much SIR 🤟🤟🤟
First Comment on the amazing Series of DP ❤️🔥
Bro don't scream at me, I am afraid xD
fr fr
Thanks brother ... for removing the fear of dp..... very well explained basics,,,
Understood! Thank you Striver :)
#include
using namespace std;
//Top-down approach
int FibonacciMemoized(int n, vector & memo){
if(n
Yooooo Let's goo, Finally👏👏
Understood, the best part is the optimization of the space complexity which you explained✌✌
"Understood"..
Thanks for providing us with wonderful DP series Playlist
the best course ever, one small request
brother if possible add timestamp's
Yeah it'll be reallu helpful
Thank you for tbe efforts.can u please explain java code as well😊
"Understood"
Added in notes, its almost similar. Not a big diff.
I understood its like a piece of cake walk and mastered your recursion playlist which made me recursion look very easy
Please upload at least 2 videos per day if already recorded🙏🙏
btw loving your teaching
Sorry bro, full time job :(
Please take some variations also other than standard dp problems
Yess sir
@@rox_official9407 yes something different from Aditya Verma dp series
@@raviashwin1157 btw he was my clg alumni
@@raviashwin1157 bhai me Aditya verma ka dekhu kya phele ?
Ya sirf yahi dekhunga to kam ho jaega
@@rox_official9407 Dekh le bhai time hai to 2x me bhi ho jayega aaram se
Great Explanation! Huge Respect to you Striver Raj.
and of course, "Understood"
My dream is to put Indian flag at the top on codeforces. 1 billion Indians and we can't even manage to be in top 10.
I will do it one day.
India's average iq is 82 even 1 gazillion can't do it.
@@SS-kt9ml I hope you understand that average IQ of a country doesn't imply shit when it comes to individual performance.
watching dynamic programming playlist second time ,let's do this shift and let me crack my interview, i have already got placed , and cleared first 2 rounds in ZOHO company with my 40% skills in DSA, now i have to level up my skills to next level , to this i have to complete this play list let's do this
Started learning DP today...."understood" it.
😂
Happy Teacher's day Striver. Just came here to tell you how much you've taught me and helped me grow. You're the best❤
This is the best dp playlist not just one of the best.
understoodddd , tomorrow i have a technical round interview, literally i am watching this today ,so much thank you striverrrr always a big fannnnnnn
Getting started with DP from today. This video made me clear with the concept of dp! I mean what dp really is. I hope to complete the whole series by 19th of july(next month). Thanks for this great content.
Understood.
I have written it in a similar fashion using the cyclic transfers of a constant space array
public int fib(int n) {
if(n
bhai is bande ka sikhane ka swag hi alag hai...goat
I "understood" like never before. Thanks to striver.
Understood......Thanks a lot Striver Bhaiya.........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
Understood. Amazingly Explained 🌟
Previously I scared only by taking the name of dsa, now I feel that I can also do it. All thanks to you striver bhaiya.
Understood. Your videos are amazing man.
your explanation was exordinary .. Thank you for the explanation
So glad i came across your channel.
Thank You so much Sir 😃...Your explanation cleared all my doubts
Wonderful explanation. Completely understood.
What a energy sir . Best explanation ever
Understood! Brilliant videos and playlists. ♥ur work and you are such an inspiration to us all.
Wow Striver ! , I am big fan of dedication and hard working. Salute you sir !!
Understood 🙏🙏🙏
Excellent video, appreciation beyond words.
Thanks man! Your videos really makes everything easy to understand moreover the program Dry run also helps understanding the approach behind it.
Understood!
Its 2024 still no one is able to match your level ⭐⭐
There is a test case like when user enters 0 then this gives 1 as an output but it should give 0. So we have to check one condition also i.e if(n==0) { cout
thank you Raj Understood.
Understand🎉
It's the best playlist ever
TO understand only i taken one day. i don't know how many days you are taken to make this video. any use full for me Thank you.
The man the myth the striver ❤
just amazing sir , super easy explanation .
Understood Bro! Heartful Thanks for your effort!
DP journey is about to start. Excited.
Thank you so much for amazing and usefull content!
striver is one of the best teacher out there teaching dsa on yt
Understood completely in detail 💯
Thank you strivers because you are doing DSA course in English
Understood 🔥 best explanation.. i leaned this in O(1) from u ... Earlier it was O(n) everytime i need to see the video to recall 😂 but now its in my DP array 🤣
your works are absolutely appreciable ,thank you so much sir!
I was Understood concept very well.
Striver you cannot be human, you are definitely a god, Please do more videos and also please try to post videos on OOPS concepts. It will really help us. Thank you Striver dada
Understood!! what a level of energy!
understood very well sir
Currently i'm in my third year and i'm pretty average at coding.Your lectures made me feel DP easier.I started observing some patterns .
Thankyou STIVER, I understood.