Fibonacci Sequence - Anatomy of recursion and space complexity analysis

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025
  • See complete series on recursion here
    • Recursion
    In this lesson, we will try to see how recursion executes in computer's memory and try to analyze memory consumption of a recursive program using the example of Fibbonacci sequence in mathematics.
    Prerequisite: basic knowledge of recursion as a programming concept.
    For practice problems and more, visit: www.mycodeschoo...
    Like us on Facebook: / mycodeschool
    Follow us on twitter: / mycodeschool

Комментарии • 84

  • @manojpandey7517
    @manojpandey7517 4 года назад +14

    I must say that this was the height of brilliance in teaching the basics of how space is utilized when a function is called. I was overwhelmed by the way you explained it. This cleared a lot of fog off my road. This was truly the anatomy of recursion. Thank you @mycodeschool if you're reading this.😍

  • @Bhargavsays
    @Bhargavsays 4 года назад +18

    When it comes to "My code school", it never disappoints me.

  • @estevanprado2005
    @estevanprado2005 11 месяцев назад +1

    11 years later and this video still has tremendous value, thank you for clearing the clouds...

  • @indrashishbasu3648
    @indrashishbasu3648 4 года назад +36

    One of the best explanations of function call stack utilization I have ever seen! Thank you :-)

  • @ShadowsMasquerade
    @ShadowsMasquerade 7 лет назад +2

    Awesome explanation. I find it very interesting that the resulting 'tree' from the recursion visually shows how it branches off into the parts of the summation, which then appear on the left-most (max depth level) branch as the Fibonacci sequence.

  • @anubhavsingh8144
    @anubhavsingh8144 3 года назад

    I am watching it in 2021 , u know it still worth it , thank you profoundly

  • @nolimits2017
    @nolimits2017 3 года назад

    Thank you so much. A lot of youtube videos have the space complexity analysis of the fibonacci sequence wrong. This helped me understand recursion a lot more.

  • @SmartProgramming
    @SmartProgramming 6 лет назад +12

    wow deeply explained , you are doing a great job sir, stay blessed 👍👍🙂

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

    Thank you! It's so lucidly explained and now I finally could understand what's going on during debugging.

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

    I looked for many videos , this one is the one that helped me, thanks

  • @vamsikrishnasayarwar1792
    @vamsikrishnasayarwar1792 4 года назад

    Best Explanation of function call stack I have ever seen. Thank You

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

    This was fantastic. Thank you. It's a lot more clear to me now

  • @santiagomarulanda7640
    @santiagomarulanda7640 Год назад +1

    Que buena explicación, justo lo que estNa buscando. Thank you so much!!! 😊

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

    Ur video made my day 🙂.Tq ❤️

  • @sunnyjain630
    @sunnyjain630 7 лет назад +8

    please add more videos on Dynammic Programming....!most appreciated!!

  • @kevinz1991
    @kevinz1991 3 года назад

    Incredibly clear and helpful thank you so much

  • @mehdiichkarrane5059
    @mehdiichkarrane5059 7 лет назад +2

    Very good explanation. Thank you

  • @Alan-qb9qt
    @Alan-qb9qt 5 лет назад +2

    Marvelous tutorial

  • @shailjakantupadhyay5183
    @shailjakantupadhyay5183 9 лет назад +3

    great explanation sirji, i am highly thankful to u.

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

    The best explaination Thanks sir😍

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

    excellent brother.

  • @m.imranzaheer1368
    @m.imranzaheer1368 2 года назад

    Nice explanation 👍

  • @reda-w4g
    @reda-w4g 2 года назад

    My God! This is brilliant!

  • @JayaprasadB-px4vc
    @JayaprasadB-px4vc Год назад

    Fibnoacci series recursive call space complexity is : O(n)
    Time complexity is : O(2^n)

  • @TheRedsky92
    @TheRedsky92 6 лет назад

    Your explanations are fantastic!! Thank you very much!!!

  • @killerperk2493
    @killerperk2493 3 года назад

    Awesome video!

  • @manmeetsingh1194
    @manmeetsingh1194 5 лет назад +4

    Please add the videos for Algorithms same as you did for Data Structure.

    • @last_theorem
      @last_theorem 5 лет назад +2

      sadly he is no more. he expired in an accident

    • @AMITSHARMA-oh1nq
      @AMITSHARMA-oh1nq 5 лет назад +1

      @@last_theorem really!!!

    • @last_theorem
      @last_theorem 5 лет назад +1

      @@AMITSHARMA-oh1nq yea bro. Just Google about it, there is a full article about it in his facebook page as well. Posted by some of his friend. I felt really bad when i got knw about it through a friend . He is really an inspiration the legacy he left is fab.

  • @gokulnaathb2627
    @gokulnaathb2627 3 года назад

    Thank you so much, Sir, I understood recursion, function call stack, and all properly, thanks a lot

  • @allurisitaramaraju3834
    @allurisitaramaraju3834 3 года назад +5

    legends view this vedio one hour before the exam

  • @anmolagrawal9898
    @anmolagrawal9898 4 года назад +1

    thanks brother

  • @FitzJeral784
    @FitzJeral784 5 лет назад +1

    Excellent, thank you very much!

  • @patriotpatriotic3894
    @patriotpatriotic3894 6 лет назад

    Very clear and understandable, Thank you!

  • @dillon4321
    @dillon4321 7 лет назад

    #1 teacher

  • @maheshvangala8472
    @maheshvangala8472 3 года назад

    thank you

  • @SadarHussain-m7w
    @SadarHussain-m7w 3 месяца назад

    very good

  • @daniellee3987
    @daniellee3987 9 лет назад +1

    great explanation, the recursion tree illustration is very intuitive...can you give some recursion tutorial video on combination, permutation and graph traversal? I believe your graph traversal recursive algorithm video would be an excellent compliment to your graph data structure video...cheers

  • @crummmycheese
    @crummmycheese 11 лет назад

    nice way ,this explanation fitted my head

  • @albertndege5596
    @albertndege5596 5 лет назад

    well explained

  • @TechAsif24
    @TechAsif24 5 лет назад

    thank you sir

  • @Maheeky
    @Maheeky 8 лет назад

    Awesome video, thank you

  • @Pratikpv
    @Pratikpv 11 лет назад

    very nice explanation.. Thanks

  • @yomamasofat413
    @yomamasofat413 10 месяцев назад

    4:46 no but F(5) calls F(4) and F(3) at the same time now? Why the one sided analysis first?

  • @sirichandana8064
    @sirichandana8064 6 лет назад

    Sooo..... helpful👌

  • @kodingdemon5074
    @kodingdemon5074 4 года назад

    thank u sir

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

    this is what i want from the youtube

  • @velevki
    @velevki 8 лет назад +2

    Shouldn't it be F(5) calls F(4) + F(3) and F(4) calls F(3) + F(2) so the implicit stack goes like F(5),F(4),F(3),F(4), F(3),F(2) and so on ?

    • @simratchehal6442
      @simratchehal6442 8 лет назад +9

      No. since F(5) is calling F(4) first so as soon as we reach F(4), it will leave the function and start making a call to F(4) and then F(4) requires F(3), F(3) requires F(2), F(2) requires F(1), and as soon as it gives F(1) its value i.e. 1 , it will travel in reverse and now since we know F(1) , it will go back to the function where we were finding F(2) which after F(1) now require F(0) i.e. 0 , F(2) would be returned to the function where its call was made. And this goes on.
      We basically don't keep the called functions on hold so as soon as some function is called, the code would only reverse its direction once it has got the value .

    • @velevki
      @velevki 8 лет назад

      Simrat Chehal Thanks for the explanation.

    • @pallasuryakumar6931
      @pallasuryakumar6931 7 лет назад

      good explanation.
      I understood till reaching the f(1) and as value is available for f(1) ,it is traversing back to f(2) .But I can't understand how it is taking f(0) and where it is storing f(0) and similarly the right side functions of + sign when traversing up.
      Please do reply.

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

    after popping 0 and 1 , why does F(2) when called for second time add 0 and 1 , why can't it make a call for f(0) again?

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

    Hats off for the way of explaining, but if anyone can help i have a question :-
    when, f(4) = f(3) + f(2)
    then it did got it from f(3) value from stack memory but f(2) already poped out then how did it got value of f(2)
    Did it received through f(3) ? is it possible that f(3) carries the value of f(2) which is already popped out?
    thank you help would be great!

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

      F(3), would make another call to f(2), and subsequently to f(1). The f(2) will make its own f(1) and f(0) calls.

  • @ShibaCat
    @ShibaCat 7 лет назад

    I have a great learning by your video! and how about time complexity? any tutorial?

  • @makinenivanshita1292
    @makinenivanshita1292 3 года назад

    Why does F(2) make a call to F(0) instead of F(1)?

  • @shahzaman2089
    @shahzaman2089 5 лет назад

    v goood explanation. regards

  • @sumitkumar-in2si
    @sumitkumar-in2si 4 года назад

    अच्छा एक्सप्लेन किया आपने ।

  • @avaneeshyadav2005
    @avaneeshyadav2005 5 лет назад

    Can u plz explain Fibonacci Search ...plz

  • @--ShivaS
    @--ShivaS 4 года назад

    gr8 vedio!!!

  • @ryanmanchikanti5265
    @ryanmanchikanti5265 3 года назад

    we tend to call the pre calculated functions a lot like f2 or f3 f1 is there a way to store the state maybe like a dictionary so that everytime we call it if it's present in the dic we can just return the pre computed value ? can we do that ?

  • @musabr.5685
    @musabr.5685 6 лет назад

    Thanks man...!

  • @malonemathai7963
    @malonemathai7963 9 лет назад +3

    where did fib
    (5) come from??

  • @derricdani
    @derricdani 5 лет назад

    I have a doubt. Could you please tell me how F(2) calls F(0) ?

  • @marktonight902
    @marktonight902 10 лет назад

    I see the sequence as reflective knowing

  • @mihirvaghela3479
    @mihirvaghela3479 4 года назад

    legend

  • @kentmillamena1518
    @kentmillamena1518 9 лет назад

    what if the tree calls(2,6). How would we work this out?

  • @deboparnabanerjee4185
    @deboparnabanerjee4185 5 лет назад

    the 5th fibonacci number is 3 not 5.

  • @ykyjohn
    @ykyjohn 3 года назад

    what about time complexity? :)

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

    Time complexity is wrong, it is exponential.

  • @ChandraSekhar-tr7sf
    @ChandraSekhar-tr7sf 3 года назад

    expecting python tutorials from u

    • @narc7885
      @narc7885 3 года назад +1

      Lmao this was 8 years ago and the founder is working in Google full-time after the co-founder died. 😭 So we can't expect anymore from him. It was a nice journey with the two legends

  • @hirakmondal6174
    @hirakmondal6174 8 лет назад

    plssss improve the sound quality... btw the video has helped me a lot... :)

  • @imranhosen414
    @imranhosen414 5 лет назад +2

    Your series start from 1 but fibonacci should start from 0.

    • @abhishekavr1848
      @abhishekavr1848 4 года назад

      although it doesn't matters whether you start from one or zero. But since the origin of the sequence was inspired from rabbit population for which u need one male and one female so sequence start from 1 and 1

  • @samwinchester3189
    @samwinchester3189 5 лет назад

    It's good but shouldn't fib(5) eventually return n which value is 6 for 5 is 6th term in a Fibonacci series?

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

    Excellent explanation.Thanks a million.