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

Поделиться
HTML-код
  • Опубликовано: 6 янв 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

Комментарии • 3,1 тыс.

  • @takeUforward
    @takeUforward  2 года назад +544

    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 2 года назад +7

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

    • @user-cg5jo2uy3f
      @user-cg5jo2uy3f 2 года назад +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 2 года назад

      Please increase the font size😶‍🌫😇

    • @TonyDUsopp
      @TonyDUsopp 2 года назад +3

      @@coding8000 you'll give the editor salary ?

    • @akshitmangotra5370
      @akshitmangotra5370 Год назад

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

  • @utkarshyadav3401
    @utkarshyadav3401 2 года назад +575

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

  • @yadneshkhode3091
    @yadneshkhode3091 2 года назад +784

    Thank you for not forgetting us after joining google

  • @ranveerkumar3532
    @ranveerkumar3532 9 месяцев назад +9

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

  • @arunimaaa
    @arunimaaa 6 месяцев назад +48

    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

  • @shivangisingh1988
    @shivangisingh1988 2 года назад +69

    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

  • @ritikshandilya7075
    @ritikshandilya7075 2 месяца назад +1

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

  • @SwatiSingh-ys6hm
    @SwatiSingh-ys6hm 10 месяцев назад +5

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

  • @amanwarudkar9913
    @amanwarudkar9913 2 года назад +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!!!

  • @tg62672
    @tg62672 Год назад +33

    The energy this guys put in videos is just awesome

  • @Zomb-zj4ip
    @Zomb-zj4ip Месяц назад +1

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

  • @harshverma5873
    @harshverma5873 11 месяцев назад +3

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

  • @bibs24
    @bibs24 2 года назад +220

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

  • @spytonic4171
    @spytonic4171 2 года назад +15

    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 8 месяцев назад +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

  • @RakshithVrishab-ht8vk
    @RakshithVrishab-ht8vk 8 месяцев назад +1

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

  • @tusharnain6652
    @tusharnain6652 2 года назад +33

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

  • @kapilpatel9379
    @kapilpatel9379 2 года назад +9

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

  • @vishious14
    @vishious14 8 месяцев назад +2

    Loved the way you related everything to recurrence relation.

  • @pavanim6258
    @pavanim6258 Год назад

    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.

  • @vamshipaidimarri983
    @vamshipaidimarri983 Год назад +19

    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.

  • @bhaswatiroy1433
    @bhaswatiroy1433 2 года назад +8

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

  • @sai-mu9hj
    @sai-mu9hj 4 месяца назад +6

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

  • @saurabhgoel8191
    @saurabhgoel8191 6 месяцев назад

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

  • @ankitadas5833
    @ankitadas5833 2 года назад +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 RUclips. Thank you so much!

  • @rishabhkalra9505
    @rishabhkalra9505 2 года назад +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.

  • @sanzayy
    @sanzayy 6 месяцев назад +1

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

  • @aryansirohi8334
    @aryansirohi8334 7 месяцев назад +1

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

  • @anikethdeshpande8336
    @anikethdeshpande8336 Год назад +4

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

  • @aadityaburujwale8683
    @aadityaburujwale8683 2 года назад +3

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

  • @quickturns76
    @quickturns76 5 месяцев назад

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

  • @nishithiyer
    @nishithiyer 27 дней назад

    Understood! Brilliant videos and playlists. ♥ur work and you are such an inspiration to us all.

  • @falgunitagadkar4097
    @falgunitagadkar4097 Год назад +17

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

  • @harshitaSharmaE
    @harshitaSharmaE 2 года назад +132

    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

  • @SelvaArumugam-xq5mf
    @SelvaArumugam-xq5mf 7 месяцев назад

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

  • @saavysisters
    @saavysisters 2 месяца назад

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

  • @adarshanku7988
    @adarshanku7988 2 года назад +11

    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

  • @aswinpradeep1287
    @aswinpradeep1287 3 месяца назад +1

    So glad i came across your channel.

  • @adityapatil1245
    @adityapatil1245 Год назад

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

  • @veerpratapsinghrathore7610
    @veerpratapsinghrathore7610 Год назад +4

    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.

  • @akshanshkumar4794
    @akshanshkumar4794 Год назад +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

  • @prabhatverma1019
    @prabhatverma1019 4 дня назад

    the O(1) space comp. concept was really help for me and amazing approach.

  • @user-xn5wu1ez4p
    @user-xn5wu1ez4p 7 месяцев назад

    DP journey is about to start. Excited.

  • @piyushsaxena6243
    @piyushsaxena6243 2 года назад +6

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

  • @asmitmohan8253
    @asmitmohan8253 2 года назад +3

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

  • @prasangsayzzhii
    @prasangsayzzhii 15 дней назад +1

    Understood. Your videos are amazing man.

  • @harikeshkumarsharma9834
    @harikeshkumarsharma9834 3 месяца назад +1

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

  • @RavinderSingh-qb4xi
    @RavinderSingh-qb4xi 2 года назад +46

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

  • @bipul07_
    @bipul07_ Год назад +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..

  • @prabhakaran5542
    @prabhakaran5542 8 месяцев назад +1

    Understood Bro! Heartful Thanks for your effort!

  • @SamPrakashM
    @SamPrakashM 8 месяцев назад

    your explanation was exordinary .. Thank you for the explanation

  • @stankafan6688
    @stankafan6688 2 года назад +18

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

  • @sparshsharma6068
    @sparshsharma6068 2 года назад +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

  • @dhruvgupta2634
    @dhruvgupta2634 Месяц назад +1

    Understood. Amazingly Explained 🌟

  • @ShivanshuSharma-jz5yq
    @ShivanshuSharma-jz5yq Месяц назад

    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.

  • @AbhinavSingh-up7bl
    @AbhinavSingh-up7bl Год назад +75

    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

  • @dharmeshpoladiya9047
    @dharmeshpoladiya9047 2 года назад +3

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

  • @stith_pragya
    @stith_pragya 7 месяцев назад +1

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

  • @everythingabout3479
    @everythingabout3479 12 дней назад

    What a energy sir . Best explanation ever

  • @mihiradarsh7604
    @mihiradarsh7604 2 года назад +4

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

  • @datkumar1024
    @datkumar1024 2 года назад +4

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

  • @AmanPandey-bd1sj
    @AmanPandey-bd1sj 2 месяца назад

    Understand🎉
    It's the best playlist ever

  • @ankit-jangid
    @ankit-jangid 4 месяца назад

    UNDERSTOOD . .thanks for helping out community!!

  • @keshav_k_0793
    @keshav_k_0793 Год назад +20

    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 11 месяцев назад +1

      please pin this comment...its very useful

  • @jayantmishra6897
    @jayantmishra6897 Год назад +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.

  • @mahindev1112
    @mahindev1112 15 дней назад +1

    Thank you so much for amazing and usefull content!

  • @artofwrick
    @artofwrick 11 месяцев назад

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

  • @anmolverma2911
    @anmolverma2911 2 года назад +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

  • @Mohini-rt4wu
    @Mohini-rt4wu 3 месяца назад +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.

  • @vigneshkannak2133
    @vigneshkannak2133 3 месяца назад

    you are the best man! keep it up!

  • @user-el6hv6em7m
    @user-el6hv6em7m Месяц назад

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

  • @Vadya-nq8mg
    @Vadya-nq8mg 2 месяца назад +13

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

  • @snehilsinha4689
    @snehilsinha4689 2 года назад +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 Год назад

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

    • @yathdixit
      @yathdixit 6 месяцев назад

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

  • @125_neeladityaghosh2
    @125_neeladityaghosh2 Месяц назад

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

  • @Sanjana-nl1si
    @Sanjana-nl1si 3 месяца назад

    Understood Bhai! Amazing Explanation 🔥

  • @sauravfarkade7032
    @sauravfarkade7032 Год назад +5

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

  • @nishant3904
    @nishant3904 Год назад +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 Год назад

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

  • @NirmalyaMusicOfficial
    @NirmalyaMusicOfficial 22 дня назад

    Understood completely in detail 💯

  • @NiteenChougula-fs9ij
    @NiteenChougula-fs9ij Год назад

    Hats off to you Striver!✌
    Your dedication and hard work really show in your content.
    I'm truly impressed! Keep up the fantastic work.

  • @agrawalhimanshu
    @agrawalhimanshu 2 года назад +11

    First Comment on the amazing Series of DP ❤️🔥

  • @codewithme6499
    @codewithme6499 2 года назад +5

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

    • @takeUforward
      @takeUforward  2 года назад +3

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

  • @vibhavsharma2724
    @vibhavsharma2724 3 месяца назад

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

  • @therealdeshbhakt7
    @therealdeshbhakt7 11 месяцев назад

    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 🤣

  • @shivamehta6537
    @shivamehta6537 2 года назад +6

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

  • @dipakpatil4370
    @dipakpatil4370 2 года назад +6

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

    • @soujitd
      @soujitd 2 года назад

      Yeah it'll be reallu helpful

  • @studynewthings1727
    @studynewthings1727 10 месяцев назад +1

    Thankyou STIVER, I understood.

  • @awsproject7299
    @awsproject7299 Год назад

    Thank you. It was the best lecture, I ever seen.

  • @miragranger4685
    @miragranger4685 2 года назад +7

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

  • @manasvinsharma1740
    @manasvinsharma1740 2 года назад +12

    Please take some variations also other than standard dp problems

    • @rox_official9407
      @rox_official9407 2 года назад

      Yess sir

    • @raviashwin1157
      @raviashwin1157 2 года назад +3

      @@rox_official9407 yes something different from Aditya Verma dp series

    • @rox_official9407
      @rox_official9407 2 года назад +1

      @@raviashwin1157 btw he was my clg alumni

    • @rox_official9407
      @rox_official9407 2 года назад

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

    • @raviashwin1157
      @raviashwin1157 2 года назад

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

  • @msanthosh3241
    @msanthosh3241 5 месяцев назад

    1 of the Best channel (CODING)

  • @lucifergaming2111
    @lucifergaming2111 8 месяцев назад

    Understood!! Thanks a lot, sir.

  • @ronaksiddhpura07
    @ronaksiddhpura07 7 месяцев назад

    I was Understood concept very well.

  • @shatrudhankumar7824
    @shatrudhankumar7824 7 месяцев назад

    Your content have quality ❤~ From Warsaw. I hope I will find u someday while roaming

  • @user-up2di5mm1q
    @user-up2di5mm1q 9 месяцев назад

    Really appreciated your effort!

  • @user-wq3jq7wc3s
    @user-wq3jq7wc3s 4 дня назад

    Understood!! what a level of energy!

  • @aryanatri9904
    @aryanatri9904 9 месяцев назад

    understood!! and congratulations on ur promotion😇

  • @aps8874
    @aps8874 2 месяца назад

    Thank you so much for this amazing playlist.💙

    • @aps8874
      @aps8874 2 месяца назад

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

  • @adebisisheriff159
    @adebisisheriff159 7 месяцев назад

    Thanks so much Striver.... Understood!

  • @punyashloknath1990
    @punyashloknath1990 5 месяцев назад

    understood bhaiya, you are really great, love from NIT Agartala

  • @harshpatne4728
    @harshpatne4728 2 месяца назад

    great explanation! understood.