Это видео недоступно.
Сожалеем об этом.

Fibonacci Sequence - Anatomy of recursion and space complexity analysis

Поделиться
HTML-код
  • Опубликовано: 10 окт 2012
  • 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.mycodeschool.com
    Like us on Facebook: / mycodeschool
    Follow us on twitter: / mycodeschool

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

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

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

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

  • @indrashishbasu3648
    @indrashishbasu3648 3 года назад +35

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

  • @estevanprado2005
    @estevanprado2005 4 месяца назад

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

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

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

  • @ShadowsMasquerade
    @ShadowsMasquerade 6 лет назад +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.

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

    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.

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

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

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

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

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

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

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

    great explanation sirji, i am highly thankful to u.

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

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

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

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

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

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

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

    Very clear and understandable, Thank you!

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

    legends view this vedio one hour before the exam

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

    Incredibly clear and helpful thank you so much

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

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

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

    Very good explanation. Thank you

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

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

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

    nice way ,this explanation fitted my head

  • @daniellee3987
    @daniellee3987 8 лет назад +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

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

    Awesome video, thank you

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

    Excellent, thank you very much!

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

    very nice explanation.. Thanks

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

    Excellent explanation.Thanks a million.

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

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

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

    Marvelous tutorial

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

    The best explaination Thanks sir😍

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

    Ur video made my day 🙂.Tq ❤️

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

    Awesome video!

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

    My God! This is brilliant!

  • @m.imranzaheer1368
    @m.imranzaheer1368 Год назад

    Nice explanation 👍

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

    excellent brother.

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

    #1 teacher

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

    Sooo..... helpful👌

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

    well explained

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

    thank you sir

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

    Thanks man...!

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

    v goood explanation. regards

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

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

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

    this is what i want from the youtube

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

    thanks brother

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

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

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

      sadly he is no more. he expired in an accident

    • @AMITSHARMA-oh1nq
      @AMITSHARMA-oh1nq 4 года назад +1

      @@last_theorem really!!!

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

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

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

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

    I see the sequence as reflective knowing

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

    thank u sir

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

    thank you

  • @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?

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

    so the more functions are called that create more data in mass over time would be that of a larger space complexity.
    Even if the time complexity of the code is something of O(1) this is still a phattness problem.
    Because the expansion of this kind of data creates more problems if not dealt with?
    Am I interpreting this correctly?

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

    Can u plz explain Fibonacci Search ...plz

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

    gr8 vedio!!!

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

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

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

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

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

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

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

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

      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.

  • @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 6 лет назад

      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.

  • @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 ?

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

    legend

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

    where did fib
    (5) come from??

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

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

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

    the 5th fibonacci number is 3 not 5.

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

    what about time complexity? :)

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

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

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

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

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

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

    Time complexity is wrong, it is exponential.

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