DP 1. Introduction to Dynamic Programming | Memoization | Tabulation | Space Optimization Techniques

Sdílet
Vložit
  • čas přidán 6. 01. 2022
  • Lecture Notes: takeuforward.org/data-structu...
    Make sure to join our telegram group for discussions: linktr.ee/takeUforward
    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.org/interviews/s...
    You can also get in touch with me at my social handles: linktr.ee/takeUforward

Komentáře • 3K

  • @takeUforward
    @takeUforward  Před 2 lety +514

    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.

    • @cypher7536
      @cypher7536 Před 2 lety +7

      Best best best!!!!!! ❤️❤️

    • @user-cg5jo2uy3f
      @user-cg5jo2uy3f Před 2 lety +3

      Thanks for making these videos. It's astonishing that you can run your channel in such scale when having another full-time job!

    • @PriyanshuSingh-hc3bf
      @PriyanshuSingh-hc3bf Před 2 lety

      Please increase the font size😶‍🌫😇

    • @TonyDUsopp
      @TonyDUsopp Před 2 lety +3

      @@coding8000 you'll give the editor salary ?

    • @akshitmangotra5370
      @akshitmangotra5370 Před rokem

      Understood. And thanks for the video ❤️. It's pro explanation

  • @yadneshkhode3091
    @yadneshkhode3091 Před 2 lety +718

    Thank you for not forgetting us after joining google

  • @utkarshyadav3401
    @utkarshyadav3401 Před 2 lety +529

    Years ahead !!! Striver would be going into history as legend for all IT students!!!! 🙏🙏🙏🙏🙏🙏

  • @arunimaaa
    @arunimaaa Před 5 měsíci +31

    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

  • @vamshipaidimarri983
    @vamshipaidimarri983 Před rokem +18

    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.

  • @bibs24
    @bibs24 Před 2 lety +208

    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❤️

  • @ranveerkumar3532
    @ranveerkumar3532 Před 8 měsíci +7

    love the energy you have put in the entire video. it motivates me to watch 2,3 more lecture in one go.

  • @SwatiSingh-ys6hm
    @SwatiSingh-ys6hm Před 9 měsíci +4

    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 !!"

  • @shivangisingh1988
    @shivangisingh1988 Před 2 lety +66

    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

  • @tg62672
    @tg62672 Před rokem +31

    The energy this guys put in videos is just awesome

  • @AbhinavSingh-up7bl
    @AbhinavSingh-up7bl Před rokem +73

    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

  • @ritikshandilya7075
    @ritikshandilya7075 Před měsícem

    @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.

  • @tusharnain6652
    @tusharnain6652 Před 2 lety +31

    I am learning first time "dp" and I understood whatever you taught . Thank you striver bhai ❤️

  • @spytonic4171
    @spytonic4171 Před 2 lety +14

    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

  • @kaushiksen2190
    @kaushiksen2190 Před 7 měsíci +1

    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

  • @harshverma5873
    @harshverma5873 Před 10 měsíci +3

    You're one of the most positive guy, Striver. I instantly start to feel motivated when I get across your videos.

  • @amanwarudkar9913
    @amanwarudkar9913 Před 2 lety +6

    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!!!

  • @bhaswatiroy1433
    @bhaswatiroy1433 Před 2 lety +8

    Not "just understood" but a different level of understanding. Hats Off !!!!!!

  • @vishious14
    @vishious14 Před 7 měsíci +2

    Loved the way you related everything to recurrence relation.

  • @sai-mu9hj
    @sai-mu9hj Před 3 měsíci +5

    the videos of dp series are good,you will fall in love with the first video itself

  • @kapilpatel9379
    @kapilpatel9379 Před 2 lety +9

    Understood a lot of this even without studying your recursion series, now will go and watch the recursion series

  • @adarshanku7988
    @adarshanku7988 Před 2 lety +10

    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

  • @Zomb-zj4ip
    @Zomb-zj4ip Před 20 dny

    understood. I cannot believe such quality content is for free, you are amazing

  • @sanzayy
    @sanzayy Před 5 měsíci +1

    Thanks brother ... for removing the fear of dp..... very well explained basics,,,

  • @ankitadas5833
    @ankitadas5833 Před 2 lety +16

    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 CZcams. Thank you so much!

  • @harshitaSharmaE
    @harshitaSharmaE Před 2 lety +130

    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

  • @RakshithVrishab-ht8vk
    @RakshithVrishab-ht8vk Před 7 měsíci +1

    Great Explanation! Huge Respect to you Striver Raj.
    and of course, "Understood"

  • @aryansirohi8334
    @aryansirohi8334 Před 6 měsíci +1

    I have always been scared of DP . But this video is Great . I understand DP in One video. God Bless You Man. ❤

  • @RavinderSingh-qb4xi
    @RavinderSingh-qb4xi Před 2 lety +45

    Hope someday I'd have good problem solving skills like you ❤️.

  • @falgunitagadkar4097
    @falgunitagadkar4097 Před rokem +17

    Your energy while you speak is just amazing and ofc no doubt the best content!!!
    Hats off to you Striver!✌

  • @user-xn5wu1ez4p
    @user-xn5wu1ez4p Před 6 měsíci

    DP journey is about to start. Excited.

  • @aswinpradeep1287
    @aswinpradeep1287 Před 2 měsíci +1

    So glad i came across your channel.

  • @veerpratapsinghrathore7610

    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.

  • @harikeshkumarsharma9834
    @harikeshkumarsharma9834 Před 2 měsíci +1

    Nothing better than this SIR ...... Thank you so much SIR 🤟🤟🤟

  • @quickturns76
    @quickturns76 Před 4 měsíci

    your works are absolutely appreciable ,thank you so much sir!

  • @rishabhkalra9505
    @rishabhkalra9505 Před 2 lety +8

    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.

  • @anikethdeshpande8336
    @anikethdeshpande8336 Před rokem +4

    i have learnt graphs from your graphs series, it was amazing , helped me understand the main concepts
    excited about DP !

  • @SamPrakashM
    @SamPrakashM Před 7 měsíci

    your explanation was exordinary .. Thank you for the explanation

  • @SelvaArumugam-xq5mf
    @SelvaArumugam-xq5mf Před 6 měsíci

    I understood its like a piece of cake walk and mastered your recursion playlist which made me recursion look very easy

  • @stankafan6688
    @stankafan6688 Před 2 lety +18

    you are vardaan for IT students.
    Thank you God for sending a teacher like you. 🙏😇❤

  • @akshanshkumar4794
    @akshanshkumar4794 Před rokem +3

    I am learning first time D.P and I understood whatever you taught . Thank you striver bhai ,your explanation really makes every topic so easy

  • @user-ei4sc8qb2q
    @user-ei4sc8qb2q Před rokem

    excellent teaching and the energy of striver's teaching is insane

  • @stith_pragya
    @stith_pragya Před 6 měsíci +1

    Understood......Thanks a lot Striver Bhaiya.........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @aadityaburujwale8683
    @aadityaburujwale8683 Před 2 lety +3

    What a teaching bro! Amazing confidence and teaching like you have never seen before., Thanx for the series.

  • @keshav_k_0793
    @keshav_k_0793 Před rokem +19

    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.

    • @suchithkumargm
      @suchithkumargm Před 10 měsíci +1

      please pin this comment...its very useful

  • @pavanim6258
    @pavanim6258 Před 11 měsíci

    Thanks a ton @takeUforward for ur awesome series and very organised playlists. The way u explain n the way its documented in the website is really superb.

  • @dhruvgupta2634
    @dhruvgupta2634 Před 13 dny +1

    Understood. Amazingly Explained 🌟

  • @anmolverma2911
    @anmolverma2911 Před 2 lety +7

    Small Correction✅-> At 22:05 Fibonacci DP code is correct, but at the base condition i.e. if(n it should be if(n

  • @piyushsaxena6243
    @piyushsaxena6243 Před 2 lety +6

    understood all the concepts, so easy to grasp as u teach so good , thanks for these lectures bhaiya

  • @prabhakaran5542
    @prabhakaran5542 Před 7 měsíci +1

    Understood Bro! Heartful Thanks for your effort!

  • @saurabhgoel8191
    @saurabhgoel8191 Před 5 měsíci

    Thanks man! Your videos really makes everything easy to understand moreover the program Dry run also helps understanding the approach behind it.

  • @asmitmohan8253
    @asmitmohan8253 Před 2 lety +3

    Most Awaited Series Of DP Thank You Striver for all DSA Playlist Uploaded Till Now.🙌

  • @bipul07_
    @bipul07_ Před rokem +3

    Understood.. This is my first video of dp that I watched and really understood in very easy way.. Striver, you are gonna rule in future like SRK..

  • @ankit-jangid
    @ankit-jangid Před 3 měsíci

    UNDERSTOOD . .thanks for helping out community!!

  • @nisanduathsara5242
    @nisanduathsara5242 Před rokem

    Striver your lectures are very interesting and we can understand the advanced concepts easily from your lectures. Thank you ❤

  • @sparshsharma6068
    @sparshsharma6068 Před 2 lety +17

    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

  • @datkumar1024
    @datkumar1024 Před 2 lety +4

    Great Playlists! Please add Time-stamps as it makes it easier to jump to required parts

  • @Career_Karna
    @Career_Karna Před měsícem

    understoodddd , tomorrow i have a technical round interview, literally i am watching this today ,so much thank you striverrrr always a big fannnnnnn

  • @vibhavsharma2724
    @vibhavsharma2724 Před 2 měsíci

    I "understood" like never before. Thanks to striver.

  • @jayantmishra6897
    @jayantmishra6897 Před rokem +14

    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.

  • @dharmeshpoladiya9047
    @dharmeshpoladiya9047 Před 2 lety +3

    Understood 💯💯 Great Explanation. Thank you very much for all you efforts🔥🔥

  • @125_neeladityaghosh2
    @125_neeladityaghosh2 Před 20 dny

    Thank You so much Sir 😃...Your explanation cleared all my doubts

  • @AmanPandey-bd1sj
    @AmanPandey-bd1sj Před měsícem

    Understand🎉
    It's the best playlist ever

  • @mihiradarsh7604
    @mihiradarsh7604 Před 2 lety +4

    Yooooo Let's goo, Finally👏👏
    Understood, the best part is the optimization of the space complexity which you explained✌✌

  • @Mohini-rt4wu
    @Mohini-rt4wu Před 2 měsíci +4

    DP is very fancy word even after having 10yrs of experience I wasn't sure what is DP, you explained it really well. Thanks.

  • @studynewthings1727
    @studynewthings1727 Před 9 měsíci +1

    Thankyou STIVER, I understood.

  • @manojkr2362
    @manojkr2362 Před 8 měsíci +1

    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

  • @snehilsinha4689
    @snehilsinha4689 Před 2 lety +9

    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

    • @Jason-qm8mu
      @Jason-qm8mu Před rokem

      I didn't get it bro ,can we connect I'd ur on LinkedIn

    • @yathdixit
      @yathdixit Před 5 měsíci

      @@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.

  • @sauravfarkade7032
    @sauravfarkade7032 Před rokem +5

    No one can beat the Energy level of striver while he teaches any concept🤩

  • @ronaksiddhpura07
    @ronaksiddhpura07 Před 6 měsíci

    I was Understood concept very well.

  • @msanthosh3241
    @msanthosh3241 Před 4 měsíci

    1 of the Best channel (CODING)

  • @agrawalhimanshu
    @agrawalhimanshu Před 2 lety +11

    First Comment on the amazing Series of DP ❤️🔥

  • @nishant3904
    @nishant3904 Před rokem +3

    Just AWESOME!
    Never thought such a simple problem can be solved in so many ways and with such optimization, why do our teachers never talk about these things?

    • @2KHuman
      @2KHuman Před rokem

      Because Professor don't know this concepts and through School & College Faculties we are gaining only Basic Knowledge of any subject 😑

  • @_unblemished_soul_581
    @_unblemished_soul_581 Před 4 měsíci

    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.

  • @kumarsunny4845
    @kumarsunny4845 Před rokem

    "Understood".Thank you Striver for always bringing out the best from your side.

  • @codewithme6499
    @codewithme6499 Před 2 lety +5

    Thank you for tbe efforts.can u please explain java code as well😊
    "Understood"

    • @takeUforward
      @takeUforward  Před 2 lety +3

      Added in notes, its almost similar. Not a big diff.

  • @miragranger4685
    @miragranger4685 Před 2 lety +7

    Understood! Thank you Striver :)
    #include
    using namespace std;
    //Top-down approach
    int FibonacciMemoized(int n, vector & memo){
    if(n

  • @adityapatil1245
    @adityapatil1245 Před 11 měsíci

    Understood…Thnks a lot for this series and really appreciate the efforts u are putting in for this series!

  • @Sanjana-nl1si
    @Sanjana-nl1si Před 2 měsíci

    Understood Bhai! Amazing Explanation 🔥

  • @dipakpatil4370
    @dipakpatil4370 Před 2 lety +6

    the best course ever, one small request
    brother if possible add timestamp's

    • @soujitd
      @soujitd Před 2 lety

      Yeah it'll be reallu helpful

  • @shivamehta6537
    @shivamehta6537 Před 2 lety +6

    Please upload at least 2 videos per day if already recorded🙏🙏
    btw loving your teaching

  • @lucifergaming2111
    @lucifergaming2111 Před 7 měsíci

    Understood!! Thanks a lot, sir.

  • @artofwrick
    @artofwrick Před 10 měsíci

    I'm already feeling motivated. Thanks for all these. ❤

  • @manasvinsharma1740
    @manasvinsharma1740 Před 2 lety +12

    Please take some variations also other than standard dp problems

    • @rox_official9407
      @rox_official9407 Před 2 lety

      Yess sir

    • @raviashwin1157
      @raviashwin1157 Před 2 lety +3

      @@rox_official9407 yes something different from Aditya Verma dp series

    • @rox_official9407
      @rox_official9407 Před 2 lety +1

      @@raviashwin1157 btw he was my clg alumni

    • @rox_official9407
      @rox_official9407 Před 2 lety

      @@raviashwin1157 bhai me Aditya verma ka dekhu kya phele ?
      Ya sirf yahi dekhunga to kam ho jaega

    • @raviashwin1157
      @raviashwin1157 Před 2 lety

      @@rox_official9407 Dekh le bhai time hai to 2x me bhi ho jayega aaram se

  • @Vadya-nq8mg
    @Vadya-nq8mg Před měsícem +3

    Bro don't scream at me, I am afraid xD

  • @nikunjsoni123
    @nikunjsoni123 Před 2 měsíci

    I understood DP finally!!

  • @ShivanshuSharma-jz5yq
    @ShivanshuSharma-jz5yq Před 12 dny

    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.

  • @user-up2di5mm1q
    @user-up2di5mm1q Před 8 měsíci

    Really appreciated your effort!

  • @adebisisheriff159
    @adebisisheriff159 Před 6 měsíci

    Thanks so much Striver.... Understood!

  • @user-el6hv6em7m
    @user-el6hv6em7m Před dnem

    understood, thanks a lot for this amazing series...

  • @aps8874
    @aps8874 Před měsícem

    Thank you so much for this amazing playlist.💙

    • @aps8874
      @aps8874 Před měsícem

      For my future self, let's see whether I am able to complete this by June 21, considering 2problems/day :)

  • @kushjoshi9716
    @kushjoshi9716 Před 8 měsíci

    Nicely Explained!

  • @Plams5
    @Plams5 Před 9 měsíci

    Great explaination!

  • @vigneshkannak2133
    @vigneshkannak2133 Před 2 měsíci

    you are the best man! keep it up!

  • @AKmr3000
    @AKmr3000 Před 2 měsíci +1

    Started learning DP today...."understood" it.

  • @maxblack4696
    @maxblack4696 Před měsícem

    Understood. Thank you 🙏

  • @hariprasadprabhu1648
    @hariprasadprabhu1648 Před 4 měsíci

    Understood - Thank you

  • @Anonymous-th8sg
    @Anonymous-th8sg Před 6 měsíci

    Understood sir, unforgettable

  • @arzooqureshi8821
    @arzooqureshi8821 Před 3 měsíci

    Understood very well!

  • @thenriquevicentini
    @thenriquevicentini Před 3 měsíci

    Incredible, tnks sir!