In-order Traversal Algorithm | Tree Traversal | Visualization, Code, Example

Поделиться
HTML-код
  • Опубликовано: 29 янв 2025

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

  • @robbie5416
    @robbie5416 2 года назад +44

    The video we needed but didn't deserve. Thank you! Never thought a simple video like this would answer so many questions I had.

  • @jarjarbinks8954
    @jarjarbinks8954 2 года назад +31

    this was soooo well done. Thank you a lot. I know Im not the only person who desperately needed this

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

      yes, very well made. really love this concrete dry runs. most cs teachers don't do this in class because of the amount of hard-work it takes to draw this out on a whiteboard...
      but as a student its so necessary to see this

  • @HussainAbdi_
    @HussainAbdi_ Год назад +3

    Thank you! Preparing for my Meta interview and this video is exactly what I needed to help visualise things so I could better understand converting a BST into a DLL. As simple as the code is, being able to visualize recursion as a stack the way you did will really help internalize what's going on for harder problems. Subscribed - I see you're still making videos! Keep creating!!!

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

    ive been trying to learn trees for like a year and this is the best content I've found so far, thank you for putting this out

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

    OMG Sir you are Super. This kind of teaching should be there in every university with visualization. Thanks a lot. Many thanks Sir !!!!! Amazing Explanation.No one could explain like you. You have a lot of Patience Sir !!!!!

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

    this is the best explanation video i’ve seen on this topic, thank you!!

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

    this visualization was beyond awesome.. thank you!!

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

    This video deserves more views and likes!!

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

    top notch explanation and content sir

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

    Keep making videos plewaseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, this was sooo good, the visualisation that we needed so damn much! Thankssssssss

  • @tbzz99
    @tbzz99 Год назад +3

    What a great video, really really awesome explanation!

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

    best visualization of binary trees ever, why aren't you getting more views

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

    Perfect explaination!

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

    Thanks a lot . I now understand how recursion works with trees

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

    Thanks for this precise explanation!

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

    great explanation!! :) finally understood tree traversal using recursion

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

    Incredibly helpful! Thank you so much!

  • @eslamahmed-zr8rl
    @eslamahmed-zr8rl Год назад

    This video helped me a lot understanding recursion on trees
    thanks a lot

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

    Great explanation, very helpful. Thank you

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

    bro is the goat

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

    Awesome explanation. You are the best.🙌

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

    Goated video

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

    what does root mean here int he function definition and base case?

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

    Awesome explanation mate

  • @DP-md4jf
    @DP-md4jf 10 месяцев назад

    Wow amazing video thank u sir. Liked and subscribed

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

    Very useful!

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

    What prevents the code from going back to 1 when inorder(root.left) is called

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

      Think of each call of the inorder functions (inorder(root.left) & inorder(root.right)) causing a “freeze” of the current “instance” that you’re working through. So to your question, when we first visit root 2 (which was executed by calling inorder(root) where root is the value of 2, we skip the base case (of course) and execute inorder(root.left) and we know to replace root.left with the value of 1 since that’s root 2’s left child. At this point, think of the current “instance” that we’re working through (the execution of inorder(root) where root is the value of 2) as now being frozen in time (and for visualization help, think of the white arrow as staying stuck on pointing at the line inorder(root.left)). Since we just executed a recursive call (inorder(root.left)) with root.left being the value of 1, we go back to the top of the function to execute this (inorder(root)) where root is the value of 1. Jumping ahead a few steps since we don’t care about 1 as the root since they have no children, we eventually end up finishing working on inorder(root) where root is the value of 1. So we go back to root 2 where we left off with it “frozen” and the frozen arrow pointing at inorder(root.left). We can now “unfreeze” the arrow since everything we had to do inside of that inorder(root.left) call where root is 1, is now complete. We can now move the arrow down to the next line and continue with the last two lines. Remember, since you specifically asked about root 1, this same “freezing” technique has already occurred to other root values, so you would be “unfreezing” these instances as well when you eventually get done with their left children. Feel free to ask for clarification on anything

  • @raghusagar-r3c
    @raghusagar-r3c Год назад

    Thank you for the video.

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

    How does the computer realise that a node has been processed completely i.e left and right child is none...so the current node has to be removed from the stack?
    How?
    This is what's been bugging me...
    How does it realise "it's time remove the node from stack"?

    • @ポヤポヤ
      @ポヤポヤ Год назад

      the node from stack will be removed once it reached the 'base case', the base case stops the recursion (you see the code says return). then it will proceed to the next stack.

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

      Perhaps it will be helpful if I try to explain how I understood it. The values are added to the stack(last in first out) and it pops from the stack when we reach the base case. As soon as we face the NULL method returns the value to the caller and then the method will be called with the previous input. For instance, if we have node 1 and there’s no left nor right node it means we have input 1 and try to reach the left child it’s NULL we return the default value and take a step back to the node with 1 value print the value, and we try to reach the right child and it returns the default value because there no right child as well and we again take a step back to the node with the 1 value but we already have the outcome we return it to the caller(the previous one who called the method with this node where the value is 1)

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

    well done!

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

    Thank you very much. Yo got a subscriber

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

    Exactly what I search for.

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

    this got me to the closet understanding. Questions how did the tree go from 1 -> 2? Thank you.

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

      When the node 1 gets traversed (including its left and right subtree) , it gets popped off the stack and the control goes to as 1 is a left subtree of 2

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

    great visuals

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

    Omg thank you 😭❤️🔥

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

    Omg i love you for this video

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

    thanks for sharing, it's very helpful

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

    God bless you.

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

    simple but great

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

    many thanks

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

    this was helpful, tysm

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

    How do you create animation ? Do you use powerpoint or some other software?

    • @ygongcode
      @ygongcode  3 года назад +3

      I used github.com/3b1b/manim and coded all the animations as well as my own data structures for the animations.

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

      @@ygongcode Do you happen to have the source code for the animations available somewhere? I only ask because I just started messing around with manim and example code for making data structure visualizations are few and far between.

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

    thank you!!

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

    So helpful

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

    i still dont get it.

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

    thank you

  • @sash11g
    @sash11g Месяц назад

    graet content

  • @semih-ze9uo
    @semih-ze9uo 2 года назад

    thanks a millions

  • @blockchainbaddie
    @blockchainbaddie 5 месяцев назад +1

    holy shit

  • @NavJaswal
    @NavJaswal Месяц назад

    Binary tree questions on leetcode had me cooked fr. NOT ANYMORE.

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

    useful

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

    goat

  • @AmanSingh-vy5tk
    @AmanSingh-vy5tk Месяц назад

    The ordin porject (i made it till here)

  • @anurag-sachan
    @anurag-sachan 2 года назад

    🫡🚀 thanks alot bro.