Recursion in 100 Seconds

Sdílet
Vložit
  • čas přidán 29. 12. 2019
  • Learn how recursion ♾️works in 100 seconds. fireship.io
    #compsci #100SecondsOfCode
    Install the quiz app 🤓
    iOS itunes.apple.com/us/app/fires...
    Android play.google.com/store/apps/de...
    Upgrade to Fireship PRO at fireship.io/pro
    Use code lORhwXd2 for 25% off your first payment.
    My VS Code Theme
    - Atom One Dark
    - vscode-icons
    - Fira Code Font
  • Věda a technologie

Komentáře • 262

  • @oleksandrisaryk4728
    @oleksandrisaryk4728 Před 4 lety +1920

    To understand recursion you need to understand recursion.

    • @thisissyedbasim
      @thisissyedbasim Před 3 lety +69

      But for that you need to understand recursion which means you should know recursion

    • @blocknboom9353
      @blocknboom9353 Před 3 lety +29

      which results in you having to understand recursion to know recursion

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

      Recursion understand to need you recursion understand to.

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

      That's a stupid saying. If that's true, then nobody would have learned recursion.

    • @BurucuGaming06
      @BurucuGaming06 Před 2 lety +21

      @@kingofyoutube9318 uhhh is this serious?

  • @IAmAdamTaylor
    @IAmAdamTaylor Před 4 lety +342

    I was expecting the start of the video at the end 😔

    • @leondu
      @leondu Před 4 lety +7

      that's creative

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

  • @irfanulhoque9348
    @irfanulhoque9348 Před 2 lety +444

    Nice video! But you made a mistake in your time complexity analysis. The recursive solution will take O(2^N), not O(N^2). There is a huge difference: O(N^2) means the complexity is bounded by a polynomial function, whereas O(2^N) means the complexity is bounded by an exponential function. These two functions belong to two different classes and their practical implication is quite significant.

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

      nice insight 👍

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

      @@farhanaditya2647 you've got an interesting name.

    • @MrBarberousse
      @MrBarberousse Před 2 lety +20

      The time complexity is actually O(1.618…^n). 1.618… being the golden ratio.

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

      Ironically, the runtime complexity of this approach is the Fibonacci sequence itself

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

      @Fireship

  • @CarbonaraDaiSuki
    @CarbonaraDaiSuki Před 4 lety +210

    To really understand recursion, you must first understand recursion.

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

      Our Lord has spoken

    • @Ehatntmtntahe
      @Ehatntmtntahe Před 3 lety +1

      Wow there was a comment a month before this comment thats very very similar but got less likes.

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

      Yes but how do I learn
      Oh it's recurring
      ok
      Ok
      Ok
      Ok
      Ok
      Ok
      Ok
      Ok
      Ok
      Ok
      Ok

    • @user-kx4xs2xd3k
      @user-kx4xs2xd3k Před 2 lety

      and recursive himself

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

  • @aleksandarstevanovic5854
    @aleksandarstevanovic5854 Před 4 lety +124

    I love those 100 sec videos, somehow those simple explanations are more clear than overcomplicating

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

  • @JoshuaVanAllen
    @JoshuaVanAllen Před 4 lety +390

    Might just be me and that i'm further down my career than others, but i'm kind of tired of recursion being explained by using the fib example. I think the community should come up with some real world examples like traversing a tree and why that is important

    • @Fireship
      @Fireship  Před 4 lety +145

      Point taken. I've used recursion in some real-world examples in past videos. It's hard to find minimal examples that don't get bogged down with other implementation details.

    • @voicustefan9418
      @voicustefan9418 Před 4 lety +6

      And its also bad because its insanely unoptimal

    • @adastraperlana
      @adastraperlana Před 4 lety +10

      my friend he tried to explain simply in 100 seconds....understand the purpose of the video

    • @JoshuaVanAllen
      @JoshuaVanAllen Před 4 lety +27

      @@adastraperlana oh I know just every computer science course and every tutorial out there that talks about recursion uses fib as an example. I'm just saying in general I think we need to come up with a better example

    • @Phrosen1
      @Phrosen1 Před 4 lety +1

      In web design: creating breadcrumbs is a good, simple example for when to use recursion (depending on the CMS, I suppose).

  • @ericsuzuki8966
    @ericsuzuki8966 Před 4 lety +9

    The production of these videos is pure art. Really makes the concepts easy to grasp.

  • @FurankieSama
    @FurankieSama Před 9 měsíci +4

    The dream analogy is too good. I've been searching for a better analogy than factorials. Thank you. I'm really grateful.

  • @vaaski
    @vaaski Před 4 lety +14

    damn this 100s of [stuff] series is really good to get a grasp of things, keep it going!

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

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

    I love these in 100 seconds videos, please keep em coming!! 📚

  • @yaroslavlukyanets1007
    @yaroslavlukyanets1007 Před 4 lety +82

    O(n^2)? maybe O(2^n). Good video anyway

    • @yipyip255
      @yipyip255 Před 4 lety +14

      Yeah, I was going to say the same thing. You can the recursive fib to O(n) with dynamic programming but his implementation in the video is O(2^n)

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

      stackoverflow.com/questions/360748/computational-complexity-of-fibonacci-sequence

    • @Panure
      @Panure Před 4 lety +1

      Θ(φ^n)

    • @Fireship
      @Fireship  Před 4 lety +12

      Good call, you'r right.

    • @yipyip255
      @yipyip255 Před 4 lety +5

      @@Fireship free tshirt?

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

    Your video representation, background music, and the way u explain is awesome man👏👍

  • @dreamisover9813
    @dreamisover9813 Před 2 lety +2

    What a coincidence! Writing a recursive method for the Fibonacci sequence was an interview question I once had and I thought it was really good to test recursion knowledge. Great video

  • @XxDarkCinisterxX
    @XxDarkCinisterxX Před 4 lety +6

    These short and sweet clips are the reason I subscribed.

    • @Fireship
      @Fireship  Před 4 lety +3

      Glad to hear that! Many more on the way :)

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

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

    Recursive functions and binary trees were one of my favorite topics while learning programming. It's really fun to marvel at how the logic works.

  • @meco
    @meco Před 4 lety +1

    The animations in this one were extra complimentary

  • @j3y445
    @j3y445 Před 2 lety +2

    I think that also talking a bit about the tail call recursion would be nice, since for the fibannaci problem it can make things significantly better with a time complexity of O(n) and auxiliary space of O(n).

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

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

    Thank You So Much for this wonderful video........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

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

    The quality of your explanations has come a long way

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

    Finally a 100 second video of actually 100 seconds

  • @alienxxvi450
    @alienxxvi450 Před rokem

    this guy actually makes programming look fun

  • @misraaditya9213
    @misraaditya9213 Před 2 lety +2

    Recursion as an alternate way to write loops. Thanks for mentioning this early on, because the concept is a big gotcha when people learn functional programming.

    • @gabrielbarrantes6946
      @gabrielbarrantes6946 Před měsícem +1

      It is not... Some problems can only be solved by recursion, recursion is fundamentally different to loops, can certainly be used as loops tho...

  • @KayVirals
    @KayVirals Před 4 lety +3

    by the time I settled down to watch the video, he said "thank you for watching"

  • @MB-rc8ie
    @MB-rc8ie Před 2 lety +1

    Well it depends on the language implementation, in lisp iteration and recursion are the same thing and you don't have to warry about maximum recursion depth

  • @Omerko
    @Omerko Před 4 lety

    Great Video!! Quick and Easy explanation..

  • @notgiven3971
    @notgiven3971 Před rokem +3

    has the memoization fireship video been made yet? I can't seem to find the video. I have other videos to reference for memoization but I like these types of videos for a brief rundown if I ever need a quick refresher

  • @thetdg
    @thetdg Před 4 lety

    Great video as usual :)

  • @huebys
    @huebys Před 3 lety +4

    psyched for memoization!

  • @Way_Of_The_Light
    @Way_Of_The_Light Před 4 lety

    Your videos make programming cool 😎

  • @whitenoisefocus7962
    @whitenoisefocus7962 Před rokem +1

    I love these videos too. Who did the music for this? 🔥🛸

  • @kolskytraveller1369
    @kolskytraveller1369 Před 4 lety +8

    You forgot to mention that in your example of dream function all recursion calls are tail calls, so the stack would never overflow with optimized compiler because we can omit pushing next ret instruction address and jump instead.

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

      But some languages like JS and Python don't use tail-call elimination, because they want to make debugging stack traces easier. That's why my bigint implementation of the Ackermann function uses explicit TC elimination, by converting the double recursive call, into a single call performed in a conditional loop

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

  • @Dan-zw2sc
    @Dan-zw2sc Před 4 lety +1

    This is basically the MIT recursion lecture but as a summary. Wish I came here first would have saved some time

  • @augusto256
    @augusto256 Před 4 lety +1

    Just right now I was struggling with this topic.

  • @5Doum
    @5Doum Před 4 lety +1

    Looking forward to part 3: dynamic programming

  • @ServantOfLordKrishna.
    @ServantOfLordKrishna. Před 5 dny +1

    I'm more confused 🥳🥳really nice video

  • @pawewodarczyk1546
    @pawewodarczyk1546 Před 4 lety +25

    It's also worth to mention a tail-call optimization. It allows to avoid stack overflow for bigger recursions ;)

    • @lucassandre2419
      @lucassandre2419 Před 2 lety

      Unfortunalty not many languages have this optimization ;-;.

    • @markuspfeifer8473
      @markuspfeifer8473 Před 2 lety

      How would that work for monadic recursion?

    • @hil449
      @hil449 Před 2 lety

      i wonder tail-call optimization works under the hood

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

  • @Name-is2bp
    @Name-is2bp Před rokem +5

    did you upload the video on memorization you mentioned? i can't find it.

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

      No, he did not.
      Here is next best thing with simple explanation
      Recursion, the Fibonacci Sequence and Memoization || Python Tutorial || Learn Python Programming
      czcams.com/video/Qk0zUZW-U_M/video.html

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

    First 100 seconds video I'm seeing on this channel that's really 100 seconds by mathematical standards

  • @sangchoo1201
    @sangchoo1201 Před 2 lety

    well, a nice way to calculate Fibonacci numbers is, using power of matrix. that has a complexity of O(logN)

  • @InformaticageNJP
    @InformaticageNJP Před 4 lety +28

    Hi! Cool idea! But be careful, that implementation of recursive fib is not n^2 and not even 2^n but it's phi^n. With memorization you can make it linear and with matrix powers you can make it logarithmic.

    • @SirM0linarius
      @SirM0linarius Před 2 lety

      But only in time complexity. regarding to memory complexity your suggested algorithms are actually worse - which is a tradeoff often neglected. Still I would prefer your methods :)

    • @marcogoncalves1073
      @marcogoncalves1073 Před 2 lety

      @@SirM0linarius Memoization is O(1) in memory complexity, O(n) time complexity. (You can save an array of O(N) elements if you want, but that's only helpful if you want to calculate the numbers multiple times)

    • @Vaaaaadim
      @Vaaaaadim Před 2 lety

      @@marcogoncalves1073 Other way around.

    • @marcogoncalves1073
      @marcogoncalves1073 Před 2 lety

      @@Vaaaaadim What do you mean? You literally only keep in memory the last 2 elements that were calculated.

    • @Vaaaaadim
      @Vaaaaadim Před 2 lety

      @@marcogoncalves1073 As I understand, memoization is a top-down approach, and would cache results of function calls.
      Dynamic programming, is a bottom-up approach. The approach to computing fibonnaci numbers involving the continual update of a pair of fibonnaci numbers... is a bottom-up approach and hence dynamic programming rather than memoization.

  • @DigitalDiamond1
    @DigitalDiamond1 Před 9 měsíci +2

    As some dude once said;
    “In order to understand recursion, one must first understand recursion.”

  • @kajalmishra6895
    @kajalmishra6895 Před 4 lety +8

    Waiting for your next video on memoization...

  • @azatecas
    @azatecas Před 4 lety +13

    where's de Memoization video :"(

  • @raknjarasoa
    @raknjarasoa Před 4 lety

    Great!

  • @abhinavrai8430
    @abhinavrai8430 Před 4 lety

    Fireship please dont stop ever!

  • @LowLevelLearning
    @LowLevelLearning Před 2 lety

    Ayyy niceuuu

  • @timwhite1783
    @timwhite1783 Před 4 lety +23

    it's O(2^n) not O(n^2).

  • @Phantom_Blox
    @Phantom_Blox Před 2 lety

    Good, now we have 10 functions and lets do recursion with those!

  • @MercyFromOverwatch2
    @MercyFromOverwatch2 Před 2 lety

    Jeff is still my favourite tech youtuber

  • @ambarmutha8504
    @ambarmutha8504 Před 4 lety +6

    The implementation in the video has exponential complexity and not O(N^2). Correct me if I am wrong.

    • @misode
      @misode Před 4 lety +1

      Yeah you're right. The time complexity is O(2^N)

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

    Oh yes!!! Dynamic programming

  • @-0-__-0-
    @-0-__-0- Před 2 lety

    Im learning a lot in 100 seconds.

  • @Vermilicious
    @Vermilicious Před 4 lety +1

    Recursion might be a confusing topic to some. It's really just about repetition. It doesn't really come up as a solution very often, but it happens. You just get used to recognizing situations where it makes a lot of sense. It's not the only way to solve such problems, and it's usually not associated with good performance, but it's elegant.

    • @markuspfeifer8473
      @markuspfeifer8473 Před 2 lety

      I usually find a recursive solution almost instantly and then implement it iteratively or with higher order collection methods because of efficiency. Once you get the hang of it, recursion is conceptually really easier

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

    I just noticed, the logo which you use is really similar to the logo of freecodecamp.org, is this CZcams channel associated with freecodecamp in any way ?
    I loved the simple explanation provided in this video ! 👍

  • @anupamdahal7029
    @anupamdahal7029 Před 2 lety

    I have learnt a lot of new things that I have never worked with from your videos, like AWS, nginx, kubernetes, graphQL(and other dbs), typescript to name a few. One thing that I don't understand is how they work together. I would really love to see a video where you design a mock system using all of these (and possibly more) and explain each of their roles and why you chose it (kinda like your reverse-cloud migration video using raspberry pi).
    Whenever I think of a software architecture I think of them as several layers that interact with each other. However, I am unable to assign which layer what belongs to by watching a stand alone tutorial about a single tool.
    Btw, I am a college senior pursuing CS major and I love your content. Thanks for all the awesome contents.

  • @ABIMASS-000
    @ABIMASS-000 Před měsícem

    Nice

  • @yersonlasso9754
    @yersonlasso9754 Před 2 lety

    I can't believe there is not a link to this video in the description

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

    Does the memoization video still exist, i cant find it anywhere. Might be nice to put a link to videos you mention in the description.

  • @ravikeshkumar4950
    @ravikeshkumar4950 Před rokem

    I think, there is one mistake in function you've written for fib sequence, you should return targetIndex in the base case not 1.

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

    I dare you to explain monads in 100 seconds.

  • @boheem3451
    @boheem3451 Před 4 lety

    I didn't understand the background, invisible stuff - the stuff that was happening on the stack. That's why recursion looks so strange. It's difficult to visualize what you don't know about.

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

    honestly I could use a 1000 second video on this topic

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

    Actually you want to avoid recursion. The point is, you can have recursion without noticing it, when several functions call each other in a circle. And if there is a stopping condition, it is hard to tell what exactly the stopping condition is.

    • @asshivam8117
      @asshivam8117 Před 2 lety

      czcams.com/video/xeMcWN_5qK4/video.html
      This is awesome!! Clear all your doubts about Recursion and master it in just 15 minutes!!
      Watch now!!

    • @diadetediotedio6918
      @diadetediotedio6918 Před rokem

      Nah, recursion is fine for various problems. Normally parsers and compillers use them a lot

  • @PiLaunchpad
    @PiLaunchpad Před rokem

    Him: "index 2023"
    Me: WHAT how did he know?!

  • @crackwitz
    @crackwitz Před 2 lety

    Awww shieeeet 0:30 wokies, being NPCs, can't dream. 💕 it!

  • @hyperspeed1313
    @hyperspeed1313 Před 2 lety +2

    Still waiting for that memoization video

  • @scottbisco6793
    @scottbisco6793 Před rokem

    As someone who is currently in a year index of 2023, I agree with this.

  • @ikezedev
    @ikezedev Před 4 lety

    This is lovely...I already shared to twitter 🔥

  • @genta3424
    @genta3424 Před rokem

    cool

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

    Recursion is like Newton's first law of motion

  •  Před 3 lety +3

    Memoization?

  • @JaviScript
    @JaviScript Před 4 lety +1

    This is the best channel on CZcams. Like, ever.

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

    It is programming equivalent of Inception.

  • @eshaan7_
    @eshaan7_ Před 4 lety +4

    brooo...where's the memoization video

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

    Did the memoization happen?

  • @kklowd
    @kklowd Před 2 lety

    I'm still waiting for the memoization video 2 years later

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

    Every time I am told to do recursion, I shrivel up because how does something call itself. Wouldn't it go into a loop? Wouldn't n never approach the end of the array and instead approach infinity because it just keeps looking again and again. I am so dumb, but idk how I've made it this far by avoiding recursion.

  • @randomeone100
    @randomeone100 Před 3 měsíci +1

    1:20 TC will be 2^n if I am not wrong

  • @esh360
    @esh360 Před 4 lety

    *Sad Discrete Math noises*

  • @StrangeIndeed
    @StrangeIndeed Před 3 lety

    You know what they say, to understand recursion, you first need to understand that the real recursion were the friends we made along the way

  • @beinyourguard
    @beinyourguard Před 4 lety

    This channel makes me realize how shit I am on JS.

  • @k1ngjulien_
    @k1ngjulien_ Před 4 lety +6

    I feel like recursion is not a topic which can be properly explained in just 100s.
    array map and reduce were good, but this is much more complex

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

      Recursion is when a function calls itself. there that didn't even take more than 5 sec.
      jibes aside, recursion is a very simple concept, but its hard for people to get their heads arround it. like some people coming in from procedural languages have a really bad time understanding JS's async code, i.e Callbacks and Promises. Thankfully Async Await is pretty much bridged that gap.

  • @astralchan
    @astralchan Před 2 lety

    1:20 No, this is exponential time, not quadratic time. O(2^n) -- NOT O(n^2)

  • @user-vs3uu7mk5f
    @user-vs3uu7mk5f Před rokem +3

    where is the memorization video

  • @devikakrishna4464
    @devikakrishna4464 Před 3 lety

    0:14 me a cpp and c coder:thats a problem of the future

  • @MaxDiscere
    @MaxDiscere Před 4 lety

    how's the background song called?

  • @rahulsingh7508
    @rahulsingh7508 Před 12 dny

    Is recursion helpful in solving majority of the chess problems?

  • @tomiivaswort6921
    @tomiivaswort6921 Před 2 lety

    After my confirmation, I will buy a gaming pc. Then I'm going to make a program with a recursive function and wait until it used up all 16GB of RAM

  • @lodewykk
    @lodewykk Před 2 lety

    Huh. Did that memoisation video ever get made?

  • @ZipplyZane
    @ZipplyZane Před 2 lety

    Oh. I saw that CS in the thumbnail and misread it as CSS. I was wondering how CSS could be recursive.

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

    I can't find the memoization video!

  • @vishwajithbarad
    @vishwajithbarad Před rokem +1

    Where is Memoization video.
    Please upload.

  • @TheUntitledworks
    @TheUntitledworks Před 4 lety

    I get stuck on a recursive loop when I start thinking about lunch. How do I return out of the loop???

    • @can_pacis
      @can_pacis Před 4 lety +3

      you don't, you eat lunch

  • @andyram27
    @andyram27 Před 4 lety +5

    I get that these videos are made for newcomers but there are a lot of errors (and sometimes antipatterns) featured. Naive recursive Fibonacci is exponential time (2^n) not quadratic time (n^2). People think you're an authority on this stuff. Please fix it.

  • @matheuscosta5330
    @matheuscosta5330 Před 2 lety

    Memoization 👍🏻

  • @avinash-dhumal
    @avinash-dhumal Před 3 lety

    Like an Inception...😜😅

  • @welltypedwitch
    @welltypedwitch Před 4 lety +1

    Well... as someone, who actually likes Haskell, I don't really like this explaination. Recursion is not only useful for trees and Fibonacci, but it is a general alternative to loops, that can be a lot cleaner and more functional (because it avoids any unnecessary mutation). When learning Haskell, a good exercise is to try and implement most standard library functions. Because in Haskell everything is immutable, you will have to use recursion a lot. After a while you really get into that mindset and now even my TS/JS code primarily uses recursion instead of ugly loops.

    • @mona.supremacy
      @mona.supremacy Před 4 lety

      Thank you for pointing out the way to replace loops with recursion in JS. I have to try, definitely

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

    why always Fibonacci

  • @Volcott
    @Volcott Před 2 lety

    What a missed opportunity to put at the end "If you want to learn more about recursion, please see Recursion in 100 seconds" :c

  • @niklase5901
    @niklase5901 Před 4 dny

    I have never seen a good use of recursion. They are hard to debug and they are cryptic to understand. Trees usually have a limited nr of levels.