Test If A Binary Tree Is Height Balanced ("Balanced Binary Tree" on LeetCode)

  Рет қаралды 97,694

Back To Back SWE

Back To Back SWE

Күн бұрын

Пікірлер: 227
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
Table of Contents: The Problem Introduction 0:00 - 0:33 Cases That Are Height Balanced 0:33 - 1:56 Cases That Are NOT Height Balanced 1:56 - 2:58 Approach #1: Get Heights of Subtrees At Each Node 2:58 - 3:46 Approach #2: Recurse To Base Cases 3:46 - 4:23 Walkthrough of The Recursion 4:23 - 12:39 Time Complexity 12:39 - 13:25 Space Complexity 13:25 - 13:39 Wrap Up 13:39 - 13:57 The teacher's notes contain a link to the code for the problem discussed in the video. It is fully commented for teaching purposes strictly.
@dolcyrao5763
@dolcyrao5763 4 жыл бұрын
You're really amazing, I was enjoying your teaching. Thanks a lot for this high-quality teaching for free.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
great to hear!!!
@anthonysummit3098
@anthonysummit3098 3 жыл бұрын
Where is the code?
@sivaprakashkkumar9691
@sivaprakashkkumar9691 3 жыл бұрын
Where is code
@debanjanasantra6724
@debanjanasantra6724 3 жыл бұрын
Could not find the link to the code :(
@BismaSuleman
@BismaSuleman 4 жыл бұрын
Me on Tinder: Hey, what is your height? And are you balanced?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
ye
@ExplorerSpace
@ExplorerSpace 3 жыл бұрын
@@BackToBackSWE i am average height
@johnpaul4301
@johnpaul4301 3 жыл бұрын
Balanced here might mean whether your tootsiroll matches your height
@WyMustIGo
@WyMustIGo 3 жыл бұрын
@@johnpaul4301 kzbin.info/www/bejne/opPRoHpomdiIoZI
@stephyjacob1256
@stephyjacob1256 5 жыл бұрын
Sharing this channel to all my friends who are interested to learn data structure algorithm .. Please make more videos on Data Structure and algorithms .. Believe me nobody tech like you. This channel has potential to become one of the best. The difference between you and others, is that most people just jumps directly into the solution but you tell us 'the thought process', 'how to interpret the problem' which are most important. Your think loud approach is best part. Please don't stop making such video. People like me are always with you.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
Haha thanks
@baraaabuasal5626
@baraaabuasal5626 5 ай бұрын
yes!!
@rban123
@rban123 5 жыл бұрын
Better than my data structures professor, thank you
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thx
@josephwong2832
@josephwong2832 4 жыл бұрын
asking the "critical question" and then returning the answer to that question to my parent is a great way to reason about recursion in general your teaching style sir is on another level!!!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks!
@nikhilkumarmishra1225
@nikhilkumarmishra1225 5 жыл бұрын
OMG the way you explain the idea behind why the algorithm works, it just blew me away. Thanks a lot mate!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
wassup
@turnuptheMIKEG
@turnuptheMIKEG 4 жыл бұрын
you're a remarkable teacher. blew my PhD data structures professor out of the water, honestly. thank you for making these videos. I'm surviving interview season bc of this.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
lol nice, sure sure, they are a relic of the past self. I don't even remember recording some of these. Nice nice, you'll make it yo
@psthakur1199
@psthakur1199 4 жыл бұрын
Loved that idea of "asking a question".Thanks man!!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
ye
@rakhman8621
@rakhman8621 Жыл бұрын
The way you explain everything man…the number of times you revisit some moments is perfect, the speed with which you explain the material is perfect. Keep up the good work and thank you for teaching us such important topics in such a great way.
@adityajain-fn6ne
@adityajain-fn6ne 4 жыл бұрын
You deserve way way more recognition and credit for the work you have done sir! better than any college professor I have had.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks and thx
@rahoolification
@rahoolification 4 жыл бұрын
What you are doing is nothing short of humanitarian work my friend!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
ye
@priyogopalsingha3487
@priyogopalsingha3487 2 жыл бұрын
undoubtedly, the best explanation of how recursion works in trees
@adenosinetp10
@adenosinetp10 4 жыл бұрын
why this has so less views??! No one these days teaches like this guy...not even my professor does....this video helped me creating a foundation for my data structure course
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
ye
@PherricOxide
@PherricOxide 5 жыл бұрын
Thanks for the videos! They're very well done compared to most of the others where people either start writing code immediately or jump straight to the solution without explaining how they got there.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
Sure, this channel still has a long way to go
@ruthylevi9804
@ruthylevi9804 2 жыл бұрын
you are so gifted at teaching, never stop!
@MuhammadIrshadAli
@MuhammadIrshadAli 4 жыл бұрын
Man, you should train CS professors at universities on how to teach algorithms
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
nah
@afsinyilmaz8665
@afsinyilmaz8665 3 жыл бұрын
great way of explaining stuff...Keep up the good work...you folks are as valuable as nation's best teachers.
@kunpeng8646
@kunpeng8646 4 жыл бұрын
What a smart and attractive illustration, well-done man!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks
@Don_ron666
@Don_ron666 5 жыл бұрын
Finally a clear cut video good job!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thanks
@deepamkumar5211
@deepamkumar5211 4 жыл бұрын
Your explanation is the best i have ever seen and really helps to understand these difficult problems. I appreciate your selfless work and the dedication with which you teach us these topics..Got to learn a lo from you,keep uploading more videos and soon this channel would turn out to be the best resource for interview preparation.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thx
@johnmcway6120
@johnmcway6120 4 жыл бұрын
Thank you very much. I myself teach myself to code, I'm also a teacher in kindergarten. I recognize a lot of myself in you. Keep up the good work!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Nice! thanks!
@hugenerretho9151
@hugenerretho9151 2 жыл бұрын
ur explanation is so concise that my golden retriever can now display his treats in tree structure
@BackToBackSWE
@BackToBackSWE 2 жыл бұрын
Thank you, glad you liked it 😀 Do check out backtobackswe.com/platform/content and please recommend us to your family and friends 😀
@realmarciomarinho
@realmarciomarinho 3 жыл бұрын
You said the code was below, but I cannot find it.
@wowzande
@wowzande 5 жыл бұрын
That's gangsta as fuck we need more of this
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
haha
@HemanthaKumarYadav
@HemanthaKumarYadav 4 жыл бұрын
I am so glad that I found your channel on KZbin...! Thank You very Much Sir!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
welcome
@ahiduzzamanahir1338
@ahiduzzamanahir1338 3 жыл бұрын
WHAT! Did you just teach me recursion? I thought it was impossible!
@kevinandres3306
@kevinandres3306 5 жыл бұрын
EXCELLENT explanation. extremely clear
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thanks, I like you
@wellingtonzane4288
@wellingtonzane4288 5 жыл бұрын
Really detailed and clear explanation! Thank you!!!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
sure
@doruwyl
@doruwyl 5 жыл бұрын
Very cool approach with the nodes which are "bellow sea level". 😊
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
hahaha
@リンゴ酢-b8g
@リンゴ酢-b8g 2 жыл бұрын
A balanced binary tree, also referred to as a height-balanced binary tree, is defined as a binary tree in which the height of the left and right subtree of any node differ by no more than 1.
@maripaz5650
@maripaz5650 4 жыл бұрын
Best interview prep ever :)
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks
@SOURAVKUMAR-tw3ds
@SOURAVKUMAR-tw3ds 3 жыл бұрын
awesome work bro!! helped a lot in visualization of recursion calls
@missrockinout
@missrockinout 5 жыл бұрын
you get so into explaining this, gotta love the head scratch lmao thanks for an awesome explanation :D
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
lol wut
@quirkyquester
@quirkyquester 4 жыл бұрын
Thank you man! This video really helps me to understand the process of solving the problem.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
sure
@nandanimadhukar
@nandanimadhukar 4 жыл бұрын
Awesome explanation! Trees are speaking for themselves :D
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
ye
@ggzz8845
@ggzz8845 3 жыл бұрын
where is the code ?
@TheAntloo
@TheAntloo 4 жыл бұрын
Awesome walkthrough! Gave me a nice intuition on how I would write the code. Do you think you could make a video on how to insert a node into a BBST?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Nice. and maybe.
@ramizrizwan3057
@ramizrizwan3057 Жыл бұрын
Such a good explanation, you’re the best!
@BackToBackSWE
@BackToBackSWE Жыл бұрын
Happy Holidays! Really glad to help 🎉 Do you know about the BacktoBackSWE 5 Day Free Mini Course? Check it out here - backtobackswe.com/
@aatifnazar1766
@aatifnazar1766 5 жыл бұрын
The node which is marked red cross will not return 2. It breaks the call there only.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
ok
@TacklessNebula3
@TacklessNebula3 3 жыл бұрын
Made your 2K to 2.1K... Thanks for the brief explanation!
@max500k
@max500k 3 жыл бұрын
Great job! You explained this well
@saikatdutta1991
@saikatdutta1991 5 жыл бұрын
Hey bro, I want you to explain "Median in a stream of integers (running integers)" this problem. I am unable to understand why we need to use self balanced binary tree to solve this problem. Thanks. I will be helpful.. You explain better than any other.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
I'll be covering that in my class but not on the channel, most of my technical videos will go there now. I'm going to convert the channel into a more "I'm building things" type thing soon
@sankethb.k642
@sankethb.k642 5 жыл бұрын
Thank you very much sir, your channel will soon be on the top.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thanks
@malaguna66
@malaguna66 4 жыл бұрын
This explanation is so clear so good!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
glad it helped
@hinocenciopaulo
@hinocenciopaulo 9 ай бұрын
Thank you so much for this beautiful explanation 🙏
@neghatnazir1668
@neghatnazir1668 4 жыл бұрын
awesome explination , i love the way you explain things.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thx
@baraaabuasal5626
@baraaabuasal5626 5 ай бұрын
at 6:00 I was like, say no more => Subscribed. fkn love the way explain stuff man
@ShortGiant1
@ShortGiant1 5 жыл бұрын
Great video, thanks. Appreciate the table of contents.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
May you flourish
@rhiannonsmeby9566
@rhiannonsmeby9566 3 жыл бұрын
This video was fireeee I hate recursion but this visualization and explanation really helped
@amitmishra2736
@amitmishra2736 4 жыл бұрын
Dude! I am not seeing the code in the down :( could you please update the Link
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@intoeleven
@intoeleven 4 жыл бұрын
the time complexity is wrong, it should be O(n*log n), n is for getting height for each node and you need to check every node for balanced is log n. The worst case could be O(n^2) in this top-down solution, actually.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
If the tree is skewed height checking is O(n)
@intoeleven
@intoeleven 4 жыл бұрын
@@BackToBackSWE Yes, and you not only check the height, but also check the balanced, which will cost O(log n). The total time complexity should be O(n log n) leetcode.com/problems/balanced-binary-tree/solution/
@fantasy9960
@fantasy9960 2 жыл бұрын
wow, your teaching is amazing! thanks again!
@wappa6914
@wappa6914 4 жыл бұрын
Thank you from France !
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
sure! 🇫🇷
@MoscleBrog
@MoscleBrog 10 ай бұрын
people like u save students like us😃
@randalllionelkharkrang4047
@randalllionelkharkrang4047 3 жыл бұрын
if it has to fail, it will always fail at the root node right? can you provide with a counterexample to what I said?
@abbasjradi5001
@abbasjradi5001 2 жыл бұрын
Exactly, it doesnt wkrk
@yuyu-qr7ih
@yuyu-qr7ih 5 жыл бұрын
very detailed explaination brada love u
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
sure homie
@neotong9885
@neotong9885 5 жыл бұрын
really nice job on explaining Balanced Binary Tree!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thanks
@pushkalkatara2153
@pushkalkatara2153 5 жыл бұрын
Hey, really a great explanation man! It'd be awesome if you could whiteboard the pseudocode too after the explanation.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
yeah good idea
@syedmdharris8814
@syedmdharris8814 3 жыл бұрын
we can simply check whether each node has left and right node? can you explain about that
@wahtthepho
@wahtthepho 3 жыл бұрын
excellent explanation!! thank you!
@mohannadbayoumi9686
@mohannadbayoumi9686 4 жыл бұрын
May I ask what the complexity of the non-efficient way you mentioned in the beginning of the video is?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Quadratic O(n^2)
@超级小棕熊0
@超级小棕熊0 5 жыл бұрын
thank you much ,I totally uderstand how recursion work
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
nice
@abhishekk.3977
@abhishekk.3977 4 жыл бұрын
Ok, I accept that I agreed to max(0,0) = 1. @ 8:40
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
ok
@ashwanigupta4672
@ashwanigupta4672 3 жыл бұрын
Finally got an awesome explanation 🏆
@Kellworkie
@Kellworkie 3 ай бұрын
Amazing teaching!
@hikemalliday6007
@hikemalliday6007 Жыл бұрын
this dude kills it
@qingruxia6312
@qingruxia6312 3 жыл бұрын
I love u your videos so much! Thank you so much for your time and work!
@researchandbuild1751
@researchandbuild1751 4 жыл бұрын
Could you just do a breadth search and if the count of children at a level count is odd, it is not balanced?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
How would this work exactly?
@researchandbuild1751
@researchandbuild1751 4 жыл бұрын
@@BackToBackSWE well it seemed like possibly a feature of an unbalanced binary tree is it would have a level with non-even count of nodes. Unless i am misunderstanding what a balanced tree should look like (which is possible). So you just make a queue and walk down the nodes, pushing children at each. If your total count of children in the queue is ever odd at each step then you know the tree is unbalanced. Not sure if that would work or not though, just pondering
@MahmoudSayed-hg8rb
@MahmoudSayed-hg8rb 2 жыл бұрын
I'm kinda late idk if you'll respond to this comment first of all thanks for your efforts. second thing ... as far as I know ( and i almost know nothing yet, I'm just a beginner), something doesn't add up in the last example Dont we consider a tree a Balanced tree if the absolute difference of the heights of each side is
@khan.mansoor
@khan.mansoor 3 жыл бұрын
Great explanation! Do you have a link to the code for this problem that I can refer to?
@eliasmoreno4672
@eliasmoreno4672 4 жыл бұрын
you explained this so well. wow. *subscribed :)
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks!
@pawanacharya997
@pawanacharya997 4 жыл бұрын
How can someone explain this clearly wow you really helped me.. thanks
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
nice
@shruthiranganatha7333
@shruthiranganatha7333 4 жыл бұрын
Why add 1 to max(heightOfRightNode, heightOfLeftNode) ?, Wha's the logic here??
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Including the node that the call is working on in the height as the calls go up
@techzoo1
@techzoo1 4 жыл бұрын
Your explanation is somehow kinda funny (in a good way)!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
yeah I was weird when the channel started. no one was watching
@stargazer8718
@stargazer8718 2 жыл бұрын
What's the difference between this and an AVL tree?
@ashishbisht980
@ashishbisht980 4 жыл бұрын
Bro you are awesome , love from India
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
much love
@pewdiepieschair2693
@pewdiepieschair2693 3 жыл бұрын
thanks lad, much appreciated!
@SreyesSrinivasan
@SreyesSrinivasan 3 жыл бұрын
Great explanation, thanks a lot :)
@mpalanipsbb
@mpalanipsbb 10 ай бұрын
Best explanation!
@AllNaturale11
@AllNaturale11 Жыл бұрын
very helpful. thank you!
@BackToBackSWE
@BackToBackSWE Жыл бұрын
Thank you! Please enjoy a special code from us - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=AllNaturale11 🎉
@RedRabbitII
@RedRabbitII 3 жыл бұрын
love this! thank you
@jgraiver
@jgraiver 4 жыл бұрын
have you done the code for this anywhere?! loved the video
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
I think so here: github.com/bephrem1/backtobackswe
@shijames4129
@shijames4129 5 жыл бұрын
nice video!!! thanks!!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
sure
@ifelsedeveloper
@ifelsedeveloper 4 жыл бұрын
hey! love your videos! one question, can't i just check the absolute height difference from each node? without asking are you balanced to each node?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Yes but that will duplicate subtree measurements
@ashwinvarma9349
@ashwinvarma9349 4 жыл бұрын
Dude please include in your videos bro that would be of great help!
@aatifnazar1766
@aatifnazar1766 5 жыл бұрын
A big thank you for this content
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thanks for being here
@sameerpatel3476
@sameerpatel3476 3 жыл бұрын
Would a tree be considered balanced tree if the root have only one node at one side ?
@cocoarecords
@cocoarecords 5 жыл бұрын
My goto channel for any problem
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
hey
@shashankshekhar390
@shashankshekhar390 4 жыл бұрын
That helped, thanks.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
sure
@PankajKP
@PankajKP 5 жыл бұрын
i hav to pause the video and say GOD to you.... You are GOD!!!!! 😇😇
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
i try, i try
@nishanth998
@nishanth998 4 жыл бұрын
where can i find the code in the website??plz tell me
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@darshantsdarshan1
@darshantsdarshan1 4 жыл бұрын
This guy is awesome 👏
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
I'm ok.
@XLpacman805
@XLpacman805 2 жыл бұрын
Thanks
@zackyang123
@zackyang123 4 жыл бұрын
That 8:40 zoom is gold hahahaha
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
what did I do
@maidul13
@maidul13 5 жыл бұрын
I just don't get why its max(-1,-1)+1, is that supposed to be equivalent to taking absolute value? if so can you explain please
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
I am just simulating the code as it would execute the base case.
@poojaguru2516
@poojaguru2516 5 жыл бұрын
Lifesaver : ) Thank you so much!! Best explanation ever!!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
sure
@lucy2003-d8p
@lucy2003-d8p Жыл бұрын
great work brother
@wentingzhang3097
@wentingzhang3097 4 жыл бұрын
I'm having trouble finding the code in the description! :(
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@salwaabdullah2003
@salwaabdullah2003 5 жыл бұрын
Thanks 🙏
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
sure
@kimmyliu5509
@kimmyliu5509 2 жыл бұрын
May I ask where is the code? you mentioned it is in description but it is not...
@BackToBackSWE
@BackToBackSWE 2 жыл бұрын
Do check out backtobackswe.com/platform/content
Lowest Common Ancestor Between 2 Binary Tree Nodes (A Recursive Approach)
20:30
МЕНЯ УКУСИЛ ПАУК #shorts
00:23
Паша Осадчий
Рет қаралды 5 МЛН
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 25 МЛН
AVL Trees & Rotations (Self-Balancing Binary Search Trees)
20:38
Back To Back SWE
Рет қаралды 351 М.
Balanced Binary Tree - Leetcode 110 - Python
13:11
NeetCode
Рет қаралды 267 М.
10.1 AVL Tree - Insertion and Rotations
43:08
Abdul Bari
Рет қаралды 1,2 МЛН
LeetCode was HARD until I Learned these 15 Patterns
13:00
Ashish Pratap Singh
Рет қаралды 577 М.
L15. Check for Balanced Binary Tree | C++ | Java
12:30
take U forward
Рет қаралды 357 М.
МЕНЯ УКУСИЛ ПАУК #shorts
00:23
Паша Осадчий
Рет қаралды 5 МЛН