How to solve (almost) any binary tree coding problem
Вставка
- Опубліковано 28 лип 2020
- 🔴 Learn graph theory algorithms: inscod.com/graphalgo
⚙ Learn dynamic programming: inscod.com/dp_course
💡 Learn to solve popular coding interview problems: inscod.com/50problems_course
⌛ Learn time and space complexity analysis: inscod.com/complexity_course
🔁 Learn recursion: inscod.com/recursion_course
NB: This video is ad-free, you can choose to support Inside code by purchasing one of the courses above or dropping a super thanks!
NB2: Discounts of courses above are permanent
I also post content on LinkedIn (inscod.com/linkedin) and Instagram (inscod.com/instagram) - Наука та технологія
This is the most undervalued tree algorithm video.
Info here is gold. Thanks man!
Thanks a lot for your comment
I love people who make things this simple, just subscribed to your channel.
Thanks a lot!
Discover the new graph theory algorithms course: inscod.com/graphalgo
🔴
/ \
🔵-🔴
| |
🔴-🔵
I will leave a dislike because you didn't explain how it actually works in the code. Like at 1:41 what does assigning a variable to the recursive function even do and mean? Please help me understand. Like why assign the variable and not just return root.data + treesum(root.left) + treesum(root.right) instead? Thank you
Dude what an explanation. Thank you so much, using recursion to solve binary tree problems has been a really huge problem till now
Wow. Brilliant nugget!! Literally opened my eyes to the problems I am solving!!
same😍😍
This is actually an amazing piece of intuition
I just wanna say, that thinking of recursion in a way where we fragment the root node made sooooo much sense.
My exam is next week, thanks!
Very easy described man!
Give this man a medal!
Thankss ❤️
Give this guy a whole lot of subscribers!!!!!!
I feel confident to solve tree problems.You Rock man
Please Create a video how to solve graph problems.
Thanks!!
Amazing way of presenting… it’s awesome
Thanks man, this is awesome!!
Thank u so so soo much man
Non linear data structures were really tough for me
From school to college
It was tough for me to understand
But now when i am preparing for a job
I saw your video
And u saved my life
Thank u so much
thank you for this video. i'm really bad at binary trees but this way of thinking about it really helps
u r genius...the most simple ways i see to learn this bianry tree...tysm blud
Superb explanation , Thanks.
Honestly....
This video is just the best!!!
Super helpful ! Great content
Thanks
Amazing man! very helpful
great explanation sir, thank you so much
Well, this is true for a certain kind of trees, where each node counts as equivalent. The same algorithm doesn't necessarily apply to segment trees, binary search trees, KD-trees etc. where an element's position in the tree is more important than its sole presence in the tree.
Yes it doesn't apply for all types of trees sure
@@insidecode do u have a similar video coming for binary search trees
You just earned a new subscriber....
Spent hours searching for a simple explanation on Trees, found it in your channel.
Just the best idea to approach binary 🌲 questions
SUPER HELPFUL!
This is exactly what I was looking for💥
wow this actually helped me so much thx
Wow, thats such a good approach! Thanks
You're welcome!
amazing video !! please make more videos in binary trees and graphs
Okay!
Wonderful explaination
Bruh. This finally makes sense.
With all respect to the author, this is trivial problems, I thought you clarify at least one of non-trivial: controlling levels of tree, controlling branches of tree, controlling nodes of tree or controlling symmethric of tree.
wow very well explained, thank you sooo much!
you're welcome!
Hey Inside Code I loved the video! I just wanted to correct the treeHeight algorithm. It needs to return -1 if the root is None because currently with the returning of 0, the leaf nodes get a height of 1 instead of a height of 0 which will cause the resulting tree height to be 1 greater than it should be.
LEGIT MAGICK!!!!! i just solved a question using this logic. SO LUCID. SO CLEAR. TO THE POINT
Help full video thank you❤
Very sell described. Good work. Keep it up👍
Thanks!
Wow! Super helpful!
Great video! I'm definetly subscribing😄
Thanks for subbing!
Thank you so much for this video!
Glad it was helpful!
OMG thank u so much !
THANK YOU!!
This was the coolest explanation of complex problem ever..Thank you
You're welcome!
exactly. Once you realize these complex problems all have some pretty easy-to-remember patterns that make them easier to solve, it's just a matter of knowing which pattern to apply.
This is super cool. Thanks 👍🏻
You're welcome
bro just opened my mind
Kindly make a similiar video on Graphs. It will be soo helpfull. Thanks
simple beneficial and inspiring
MAN YOU MADE ME UNDERSTAND RECURSION, finally! Thank you so much!
You're welcome! Check the 3 hours recursion course I published recently here
@@insidecode I’ll check it out. Thank you!
@@danielapineyro1998 I don't have a video on that but I can explain it to you here, did you see in this video the function where we calculate the sum? We calculate the sum from the left, the sum from the right, and we add to them the parent's value. For your problem, you take the same function, but you just add two things, a global boolean variable output that starts at true, and a condition before returning the sum in the recursive function, that condition is: if root.data != left+right: output = False
@@danielapineyro1998 What we're doing here is that we're traversing the tree, but at each node, after calculating the sum of both subtrees, we're comparing with the parent's value, and we're setting the final output to false if they're different, we used a global variable to be able to access it from any call
@@danielapineyro1998 The code would be something like this:
output = True
def tree_sum(root):
global output
if root is None:
return 0
else:
left = tree_sum(root.left)
right = tree_sum(root.right)
if root.data != left+right:
output = False
return root.data + left + right
def all_equal(root):
global output
tree_sum(output)
return output
Super helpful bro. Thanks a lot ❣️
You're welcome!
Thanks we got a whole diffrent persepective of solving problem. Could you make this kinda videos for other DS also, pls
You're welcome! I'll see
This is amazing
It's really Awesome 🤩
Finally, this is what I have been looking for; algorithms with proper visualizations. I had to buy all your 5 courses on udemy
Thanks a lot for your comment!
hello, is his dynamic programming course in python?
Hello, yes it is
@@insidecode thanks for the reply, I will purchase it. are all your other courses on Udemy in python as well ?
@@ifeanyi3713 You're welcome! Yes
Wow 😎 🥺 thanks brother no more grinding
High quality video! Thanks
You're welcome
This actually works holy shit this is insane
Will this formula work for Visible Tree Node problem? If yes, how? Thank you!
Great video
This nails it
This man is literally the best!!!
Thanks a lot!
Very Nice.God bless you..
Thanks
Great channel
Amazing
best video. perfectly explained.
Thanks!
Thanku sor finally i understood Tree data after 2 months ,thanks a lot Your content is freat
You're welcome!
For height of tree it must return -1 if root is null.(2.42)
that depends if u are taking the height of a leaf node to be 1 or 0, it depends upon the book u are using
A BIG Thank you 🌹
You're welcome!
Can we solve every binary tree problem using either BFS or DFS?
Thanks a lot🖤
You're welcome!
Sukriya Sir
thank you!
You're welcome!
OMg this is amazing lol thank you so much
You're welcome!
Great!
Underated video
You've earned a new subscriber 🔥
Thankss!
Thanks, share code too!!
Thank u
Wow amazing
Omg it's literally always the same thing, how have I never noticed this before?
Thx a lot!!!!!
You're welcome!
Easy and straight forward
execellent
How do you create the animation? Are you using any software for tha?
With PowerPoint
@@insidecodeOhhk. Thanks a lot.
@@shashicsnitjsr You're welcome!
Thank you
Welcome!
Hi..i have to appear a HireVue interview soon for Deloitte. Will this coursepack be useful to me?
It contains a lot of popular problems on different patterns and data structures, so it will be useful for you for sure
Fix: At 2:38, the base case should return -1 not 0
Maybe I misunderstand why, but I think of it like this. If the input is simple None to begin with, is the height 0 or is it 1? From my understanding it would be 0, similar to how an len(arr) where arr is an empty array would also return 0.
@@Raven-zk2xq Yes but height 0 is the height of a tree with one node only (the root), so when a tree has no nodes at all, its height is -1
1:20 the sum will be 110 instead of 120
You took time to calculate :0 But thanks for telling me!
Damn never knew tree's can be broken down like this
can I donate to you on patreon? I rly liked this video.
How do you learn this for sure?
Learn what?
isn't the tree that appears at 30 seconds not a valid bst?
It's not supposed to be a BST
awesome x 100
Recursive thinking
omg thank you, you saved my ass
that bri-eff though XD (brief is said as breef, not bri-eff)
oh thanks for info!
Oooooo maa gooooo, turuuuuu triiick
Can we have pdf of these codes?
I didn't make a PDF of them sorry
Wow.
👍
Your code in 1:31 doesn’t seem to work
What error you got? Maybe you didn't create Tree class or something
Watch it in 0.75x