<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>self balancing binary search tree Archives - NeuralLantern.com</title>
	<atom:link href="https://www.NeuralLantern.com/tag/self-balancing-binary-search-tree/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.NeuralLantern.com/tag/self-balancing-binary-search-tree/</link>
	<description></description>
	<lastBuildDate>Mon, 25 May 2026 20:03:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://www.NeuralLantern.com/wp-content/uploads/2025/04/cropped-2025-04-04-Lantern-03-32x32.png</url>
	<title>self balancing binary search tree Archives - NeuralLantern.com</title>
	<link>https://www.NeuralLantern.com/tag/self-balancing-binary-search-tree/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AVL Tree Rotation Types Explained for Self-Balancing Binary Search Trees</title>
		<link>https://www.NeuralLantern.com/avl-tree-rotation-types-explained-for-self-balancing-binary-search-trees/</link>
					<comments>https://www.NeuralLantern.com/avl-tree-rotation-types-explained-for-self-balancing-binary-search-trees/#respond</comments>
		
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Mon, 25 May 2026 20:03:52 +0000</pubDate>
				<category><![CDATA[AVL Trees]]></category>
		<category><![CDATA[Binary Search Trees]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[avl rotations]]></category>
		<category><![CDATA[AVL tree]]></category>
		<category><![CDATA[avl tree tutorial]]></category>
		<category><![CDATA[balance factor]]></category>
		<category><![CDATA[binary search tree]]></category>
		<category><![CDATA[bst]]></category>
		<category><![CDATA[coding interview]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[data structures]]></category>
		<category><![CDATA[double left rotation]]></category>
		<category><![CDATA[double right rotation]]></category>
		<category><![CDATA[self balancing binary search tree]]></category>
		<category><![CDATA[single left rotation]]></category>
		<category><![CDATA[single right rotation]]></category>
		<category><![CDATA[tree rotations]]></category>
		<guid isPermaLink="false">https://www.NeuralLantern.com/?p=377</guid>

					<description><![CDATA[<p>In AVL trees, when we find a node with a balance factor of 2 or worse, we perform rotations on the trinode subtree. There are four input patterns that all resolve to the same balanced output pattern through single or double rotations. Single rotations handle straight line imbalances while double rotations address the zigzag cases. Each rotation rearranges parent-child pointers to reduce the height from 3 to 2, helping keep the overall tree balanced for log time operations.</p>
<p>The post <a href="https://www.NeuralLantern.com/avl-tree-rotation-types-explained-for-self-balancing-binary-search-trees/">AVL Tree Rotation Types Explained for Self-Balancing Binary Search Trees</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="AVL Tree Rotation Types Explained for Self-Balancing Binary Search Trees" width="1380" height="776" src="https://www.youtube.com/embed/zY8ItrR-j1U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Hey everyone, in this video we break down the four types of rotations you need to know for AVL trees &#8211; self-balancing binary search trees.</p>



<p class="wp-block-paragraph">We cover single right rotations, single left rotations, double right rotations, and double left rotations with clear diagrams and explanations of the input patterns and how they become the balanced output pattern.</p>



<p class="wp-block-paragraph">If you&#8217;ve been learning about binary search trees and want to understand how AVL trees maintain their balance through rotations, this is the perfect next step. We look at the trinode subtrees, balance factors, and exactly how to rearrange the pointers for each case.</p>



<p class="wp-block-paragraph">Great for computer science students, coding interviews, or anyone building their data structures knowledge.</p>



<p class="wp-block-paragraph">Watch the full series on binary search trees and AVL trees for more.</p>



<p class="wp-block-paragraph">00:00 Introduction to AVL Tree Rotations<br>00:14 Previous Videos Overview<br>00:28 Balance Factors and Trinode Subtrees<br>00:50 Identifying Imbalance<br>01:56 When to Rotate<br>02:20 Four Input Patterns<br>02:41 Target Balanced Pattern<br>04:18 Single Right Rotation<br>04:33 Single Left Rotation<br>08:44 Double Rotations<br>11:51 Remembering Rotation Types<br>13:04 Wrapping Up Rotations<br>13:27 Thanks and Outro</p>



<p class="wp-block-paragraph">=-=-=-=-=-=-=-=-=</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">Find us on other social media here:</p>



<ul class="wp-block-list">
<li>https://www.NeuralLantern.com/social</li>



<li>Twitter / X: https://x.com/NeuralLantern</li>



<li>Rumble: https://rumble.com/c/c-3696939</li>



<li>BitChute: https://www.bitchute.com/channel/pg1Pvv5dN4Gt</li>



<li>Daily Motion: https://www.dailymotion.com/neurallantern</li>



<li>Minds: https://www.minds.com/neurallantern/</li>



<li>Odysee: https://odysee.com/@NeuralLantern:5</li>
</ul>



<p class="wp-block-paragraph">Please show your support!</p>



<ul class="wp-block-list">
<li>Buy me a coffee: https://ko-fi.com/neurallantern</li>



<li>Subscribe + Sharing on Social Media</li>



<li>Leave a comment or suggestion</li>



<li>Subscribe to the Blog: https://www.NeuralLantern.com</li>



<li>Watch the main &#8220;pinned&#8221; video of this channel for offers and extras</li>
</ul>



<p class="wp-block-paragraph">Hey there, let&#8217;s talk about rotation types in an AVL tree, which is a self-balancing binary search tree.</p>



<p class="wp-block-paragraph">Okay, so hopefully you&#8217;ve watched my previous videos. If you have not, you probably want to check them out first,</p>



<p class="wp-block-paragraph">where we talk about what is a binary search tree, how to build one, how to define one,</p>



<p class="wp-block-paragraph">terminology, searching through it, all that stuff. And then we talked about an introduction to AVL trees,</p>



<p class="wp-block-paragraph">trees which are self-balancing binary search trees this video is going to be</p>



<p class="wp-block-paragraph">about the types of rotations that you can perform in an AVL tree what do I</p>



<p class="wp-block-paragraph">mean by rotation well the basic idea that we talked about in the last video</p>



<p class="wp-block-paragraph">was that throughout your tree you&#8217;ll notice that different nodes have</p>



<p class="wp-block-paragraph">different balance factors which means how imbalanced or balanced they are when</p>



<p class="wp-block-paragraph">we identify a node that has a balance factor that&#8217;s too bad then we consider</p>



<p class="wp-block-paragraph">AVL tree and we have to stop and rotate a couple of nodes you know kind of rearrange them to make</p>



<p class="wp-block-paragraph">them better before we have a valid AVL tree so we have four different input patterns that we can</p>



<p class="wp-block-paragraph">have so imagine you know this little trinode subtree up on the top left that could be you know</p>



<p class="wp-block-paragraph">three nodes that we found somewhere in our tree that had a bad balance if you just quickly compute</p>



<p class="wp-block-paragraph">the balance factor for this trinode subtree you&#8217;ll notice actually let me just do it real fast for fun</p>



<p class="wp-block-paragraph">that the 65 node has a balance factor of 2 because its left subtree has a height of 2</p>



<p class="wp-block-paragraph">and there is no right subtree. The 55 has a balance factor of 1 and 48 being a leaf, at</p>



<p class="wp-block-paragraph">least in terms of this trinode subtree, has a balance factor of 0. All of these trinode</p>



<p class="wp-block-paragraph">subtrees are going to have the same situation. The one on top is going to be 2 and so forth.</p>



<p class="wp-block-paragraph">So you can imagine that you were going through the whole tree, computing balance factors like</p>



<p class="wp-block-paragraph">And you found a two, which remember we said in our last video, two or worse, meaning two or higher,</p>



<p class="wp-block-paragraph">if we&#8217;re using balance factors that are absolute or negative two and also positive two or worse,</p>



<p class="wp-block-paragraph">if we&#8217;re not using absolute balance factors, means you got to stop and try to rebalance that trinode subtree.</p>



<p class="wp-block-paragraph">So we found a node that had a balance factor of two and we realized we have to stop and rotate.</p>



<p class="wp-block-paragraph">The pattern of the trino subtree before we perform the rotation could be one of these four things.</p>



<p class="wp-block-paragraph">It could be the thing on the left on top, the thing on the right on top, the thing on the bottom left, and the thing on the bottom right.</p>



<p class="wp-block-paragraph">And all four of these patterns should end up becoming, after we do our rotation, they should end up becoming the pattern in the middle.</p>



<p class="wp-block-paragraph">So this is always going to be the target pattern.</p>



<p class="wp-block-paragraph">Let me draw some arrows real fast.</p>



<p class="wp-block-paragraph">pattern is going to end up looking like the output pattern in the middle.</p>



<p class="wp-block-paragraph">Why is that?</p>



<p class="wp-block-paragraph">How is that possible?</p>



<p class="wp-block-paragraph">Well, we only have three nodes.</p>



<p class="wp-block-paragraph">If you look at all the input patterns, they&#8217;re all the same numbers.</p>



<p class="wp-block-paragraph">What we&#8217;re really doing is disconnecting all the pointers, disconnecting the parent child</p>



<p class="wp-block-paragraph">relationships and then reconnecting them in the best possible way to make, you know,</p>



<p class="wp-block-paragraph">the most balanced trinode subtree.</p>



<p class="wp-block-paragraph">Notice how the height of all of these input trees is always three, right?</p>



<p class="wp-block-paragraph">because it&#8217;s a trinode subtree that&#8217;s really really bad and out of whack so we&#8217;ll you know</p>



<p class="wp-block-paragraph">like one two three one two three right height of three we&#8217;ll do a rotation rearrange the pointers</p>



<p class="wp-block-paragraph">rearrange the parent-child relationships so that the final height ends up being actually just two</p>



<p class="wp-block-paragraph">and if you think about reducing the height we&#8217;re making the tree better we&#8217;re making it more</p>



<p class="wp-block-paragraph">balanced we&#8217;re making it faster to search through and add and remove things from so we&#8217;re making a</p>



<p class="wp-block-paragraph">So we&#8217;re making a better tree by reducing the height a little bit.</p>



<p class="wp-block-paragraph">If you had a really, really, really bad tree and you just went around to all the bad nodes</p>



<p class="wp-block-paragraph">and just started rotating them all, you&#8217;re reducing the height by one for each rotation.</p>



<p class="wp-block-paragraph">Eventually, when you get up to the top of the tree, you&#8217;ll have an overall AVL tree,</p>



<p class="wp-block-paragraph">which is pretty fast.</p>



<p class="wp-block-paragraph">We should say now that AVL trees are always going to be log time trees because the imbalance</p>



<p class="wp-block-paragraph">factor is limited by a constant number.</p>



<p class="wp-block-paragraph">We&#8217;ll say that again in a future video.</p>



<p class="wp-block-paragraph">in a in a future video so anyway i&#8217;m going to label these trees now</p>



<p class="wp-block-paragraph">i&#8217;m going to say that the one on the top left is a single right rotation</p>



<p class="wp-block-paragraph">and the uh the tree on the top right you can probably imagine is a single left rotation</p>



<p class="wp-block-paragraph">let me just duplicate this real fast so i can come on man can i duplicate this yeah so i can</p>



<p class="wp-block-paragraph">edit the text real fast. This is going to be a single left rotation. And then the trees at the</p>



<p class="wp-block-paragraph">bottom, those are going to be double rotations. Let me just write over here, maybe next to that</p>



<p class="wp-block-paragraph">one, double right rotation. And then I&#8217;ll duplicate this. And this one over here is going to be a</p>



<p class="wp-block-paragraph">these on different sides than I usually do because I was trying to make it look a little more tricky</p>



<p class="wp-block-paragraph">but it&#8217;s really not that bad. So how do we know that the top pattern is a single right rotation</p>



<p class="wp-block-paragraph">and not a double right rotation or it&#8217;s a single right rotation and not a single left rotation?</p>



<p class="wp-block-paragraph">The first thing to try to understand is what&#8217;s going to happen between the input pattern and</p>



<p class="wp-block-paragraph">the output pattern. So if you look at the input pattern here we&#8217;ve got like a straight line and</p>



<p class="wp-block-paragraph">And the output pattern is like a perfectly balanced trinode subtree.</p>



<p class="wp-block-paragraph">Notice how the 55 is the new parent.</p>



<p class="wp-block-paragraph">And it&#8217;s also in the middle for the output pattern.</p>



<p class="wp-block-paragraph">And then for the input pattern, the 55 is also in the middle, but it&#8217;s not the new parent.</p>



<p class="wp-block-paragraph">But it is the parent already of the 48 node.</p>



<p class="wp-block-paragraph">Notice how it&#8217;s the parent already of one node, the 48 node.</p>



<p class="wp-block-paragraph">So that means its relationship to the 48 node, the left child, doesn&#8217;t actually change.</p>



<p class="wp-block-paragraph">bit more you&#8217;ll realize that only one node actually needs to be moved into position so we&#8217;ll call this</p>



<p class="wp-block-paragraph">a rotation try to imagine visualize maybe like your point your left pointer finger being placed</p>



<p class="wp-block-paragraph">on the 55 node and your right pointer finger being placed on the 65 node and then just rotate</p>



<p class="wp-block-paragraph">the 65 node downward we rotate that clockwise and the physics people out there love to say that</p>



<p class="wp-block-paragraph">are right rotations.</p>



<p class="wp-block-paragraph">At least as far as I remember.</p>



<p class="wp-block-paragraph">Not totally sure about that,</p>



<p class="wp-block-paragraph">but I&#8217;m just going to say it anyway.</p>



<p class="wp-block-paragraph">So notice how the 65 needs to be rotated</p>



<p class="wp-block-paragraph">to the right or clockwise.</p>



<p class="wp-block-paragraph">And only one node actually needs to be rotated</p>



<p class="wp-block-paragraph">to produce that final output pattern.</p>



<p class="wp-block-paragraph">That&#8217;s why we call this a single right rotation</p>



<p class="wp-block-paragraph">because there&#8217;s only one node to rotate.</p>



<p class="wp-block-paragraph">The next thing I&#8217;ll do is just try to give you</p>



<p class="wp-block-paragraph">a few extra ways of being able to remember</p>



<p class="wp-block-paragraph">being able to remember whether it&#8217;s a left or a right so for starters one node needs to be rotated</p>



<p class="wp-block-paragraph">so it&#8217;s a single rotation and we&#8217;re rotating clockwise so it&#8217;s a right rotation but you can</p>



<p class="wp-block-paragraph">also do this you can think of it like can i get rid of that real fast you can think of it like</p>



<p class="wp-block-paragraph">well there is a bunch of empty space kind of sitting here on the right side so that could be</p>



<p class="wp-block-paragraph">another way to remember that this is a right rotation also if you were to start at the node</p>



<p class="wp-block-paragraph">and work your way to the node at the top,</p>



<p class="wp-block-paragraph">you know, the Z node,</p>



<p class="wp-block-paragraph">then we&#8217;re kind of going up and to the right.</p>



<p class="wp-block-paragraph">So that&#8217;s another way to remember</p>



<p class="wp-block-paragraph">that this is a right rotation.</p>



<p class="wp-block-paragraph">Single, you can remember that also</p>



<p class="wp-block-paragraph">by just the fact that this is a straight line.</p>



<p class="wp-block-paragraph">Like notice how the nodes are kind of in a straight line.</p>



<p class="wp-block-paragraph">They don&#8217;t do a zigzag or a bounce.</p>



<p class="wp-block-paragraph">So single rotations are rotations that look straight at first,</p>



<p class="wp-block-paragraph">or I guess input patterns that look straight</p>



<p class="wp-block-paragraph">and only one node actually needs to be rotated.</p>



<p class="wp-block-paragraph">um right versus left is there&#8217;s a pocket of empty space on the right side and you go up and to the</p>



<p class="wp-block-paragraph">right for the right rotations similarly you can probably already figure out by now that</p>



<p class="wp-block-paragraph">the left rotation just means well we&#8217;re going let&#8217;s see we&#8217;re going up and to the left to get</p>



<p class="wp-block-paragraph">to that top node or the only node that has to be rotated is that 48 node and it&#8217;s going to be</p>



<p class="wp-block-paragraph">rotated counterclockwise which is left so again only one node needs to be rotated and we&#8217;re going</p>



<p class="wp-block-paragraph">to be rotated and we&#8217;re going to rotate it counterclockwise which is a left rotation so</p>



<p class="wp-block-paragraph">one node rotated single counterclockwise left or just like a pocket of empty space sitting on the</p>



<p class="wp-block-paragraph">left side okay so then for the double rotations the first thing you can look at is the idea that</p>



<p class="wp-block-paragraph">there&#8217;s a little bit of a bounce you know there&#8217;s like a angle bounce there if you see a bounce or</p>



<p class="wp-block-paragraph">sick a couple weeks ago then that&#8217;s a double rotation another way you can try to remember it</p>



<p class="wp-block-paragraph">as two nodes need to be moved into position so if I maybe I should copy this to another slide real</p>



<p class="wp-block-paragraph">fast let me copy this and we&#8217;ll do another slide okay so you know which nodes need to be moved into</p>



<p class="wp-block-paragraph">position let me copy also the output pattern just as a quick reminder if we wanted to make that</p>



<p class="wp-block-paragraph">If we wanted to make that output pattern, let me put it up here maybe,</p>



<p class="wp-block-paragraph">then obviously the 55 still has to be in the middle</p>



<p class="wp-block-paragraph">because it was already in the middle before we rotated.</p>



<p class="wp-block-paragraph">That means both the 48 and the 65 need to be rotated underneath the 55.</p>



<p class="wp-block-paragraph">So that means we&#8217;re going to do the 65, we&#8217;re going to rotate it clockwise underneath the 55.</p>



<p class="wp-block-paragraph">So I&#8217;m going to do like a little circle here, a connector, and then I&#8217;ll do like 65 there.</p>



<p class="wp-block-paragraph">65 there and then after we do that rotation we have to rotate the 48</p>



<p class="wp-block-paragraph">underneath the 55 so that&#8217;s going to be a rotation that is counterclockwise so</p>



<p class="wp-block-paragraph">I&#8217;m going to do this circle that there and then do a 48 notice how when we&#8217;re</p>



<p class="wp-block-paragraph">done doing the rotations we have a valid binary search tree you should always</p>



<p class="wp-block-paragraph">check your rotated pattern your output pattern to make sure it&#8217;s actually in</p>



<p class="wp-block-paragraph">binary search tree because if it&#8217;s not let&#8217;s say the numbers are out of order for some reason from</p>



<p class="wp-block-paragraph">left to right then you have rotated incorrectly and you have to double check yourself so two nodes</p>



<p class="wp-block-paragraph">need to be rotated into position therefore it&#8217;s a double rotation or you see a diagonal input pattern</p>



<p class="wp-block-paragraph">double rotation how do you remember the difference between left and right well um if you start at the</p>



<p class="wp-block-paragraph">node in the middle just like we did in the last slides we start at the node in the middle and go</p>



<p class="wp-block-paragraph">and go to the node at the top, the Z node,</p>



<p class="wp-block-paragraph">we&#8217;re going up and to the right.</p>



<p class="wp-block-paragraph">And so this is a right rotation.</p>



<p class="wp-block-paragraph">So it&#8217;s a double right rotation.</p>



<p class="wp-block-paragraph">Another way to remember it is you should probably try to rotate the Z node first.</p>



<p class="wp-block-paragraph">The node that&#8217;s on very top is the 65.</p>



<p class="wp-block-paragraph">Rotate that first and then call that the direction of the rotation.</p>



<p class="wp-block-paragraph">So, you know, we rotate the 65 first.</p>



<p class="wp-block-paragraph">That&#8217;s a clockwise.</p>



<p class="wp-block-paragraph">So that&#8217;s why it&#8217;s a right rotation.</p>



<p class="wp-block-paragraph">Then just ignore the direction of the other node that you rotated.</p>



<p class="wp-block-paragraph">you can also kind of imagine taking the original node if you don&#8217;t if you don&#8217;t</p>



<p class="wp-block-paragraph">want to think of like actually rotating let me just kind of erase this real fast</p>



<p class="wp-block-paragraph">you can kind of imagine that you are you&#8217;re sort of taking the new parent</p>



<p class="wp-block-paragraph">that&#8217;s supposed to be the new parent and just sort of pulling it up</p>



<p class="wp-block-paragraph">I draw a picture of Batman and he shoots a batarang at it and he sounds like Christian</p>



<p class="wp-block-paragraph">Bale and he&#8217;s like, where is the rotation?</p>



<p class="wp-block-paragraph">I&#8217;m not going to do that.</p>



<p class="wp-block-paragraph">Maybe if there are enough comments, I&#8217;ll do a special video just for my really, really</p>



<p class="wp-block-paragraph">bad drawing.</p>



<p class="wp-block-paragraph">But imagine the 55 is getting pulled up and it&#8217;s getting pulled up past two other nodes.</p>



<p class="wp-block-paragraph">So that&#8217;s why it&#8217;s a double rotation.</p>



<p class="wp-block-paragraph">Another way to remember.</p>



<p class="wp-block-paragraph">The 55 would be the mob boss that&#8217;s hanging by his ankle.</p>



<p class="wp-block-paragraph">anyway so uh we we kind of know how we can remember the difference between uh single and</p>



<p class="wp-block-paragraph">double rotations uh we&#8217;ve got a single right rotation a single left a double right a double</p>



<p class="wp-block-paragraph">left there&#8217;s only going to be four possible input patterns and they&#8217;re all going to look like this</p>



<p class="wp-block-paragraph">one output pattern because really what we&#8217;re doing is we&#8217;re just we&#8217;re not you know creating</p>



<p class="wp-block-paragraph">any nodes or removing any nodes we&#8217;re just disconnecting pointers we&#8217;re disconnecting</p>



<p class="wp-block-paragraph">just get this over here we&#8217;re saying okay input pattern I disconnect the pointers I&#8217;m saying the</p>



<p class="wp-block-paragraph">65 no longer has a left child the 48 no longer has a parent the 55 no longer has a parent and</p>



<p class="wp-block-paragraph">the 48 no longer has a right child and then when we&#8217;re done with that we just kind of like reconnect</p>



<p class="wp-block-paragraph">the relationships we&#8217;re like okay you know what just kidding you all have parents and children</p>



<p class="wp-block-paragraph">again we&#8217;re just rearranging them okay let me check out my thing real fast here</p>



<p class="wp-block-paragraph">I&#8217;m going to cut the video here because this is the basic idea for the different types of rotations that you could use.</p>



<p class="wp-block-paragraph">In the next videos, we&#8217;re going to actually start rotating bad trees to make them work.</p>



<p class="wp-block-paragraph">So thanks for watching this video.</p>



<p class="wp-block-paragraph">I hope you learned a little bit of stuff and had a little bit of fun.</p>



<p class="wp-block-paragraph">I&#8217;ll see you in the next video.</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">Hey, everybody.</p>



<p class="wp-block-paragraph">Thanks for watching this video again from the bottom of my heart.</p>



<p class="wp-block-paragraph">I really appreciate it.</p>



<p class="wp-block-paragraph">it. I do hope you did learn something and have some fun. If you could do me a please, a small</p>



<p class="wp-block-paragraph">little favor, could you please subscribe and follow this channel or these videos or whatever</p>



<p class="wp-block-paragraph">it is you do on the current social media website that you&#8217;re looking at right now. It would really</p>



<p class="wp-block-paragraph">mean the world to me and it&#8217;ll help make more videos and grow this community. So we&#8217;ll be able</p>



<p class="wp-block-paragraph">to do more videos, longer videos, better videos, or just I&#8217;ll be able to keep making videos in</p>



<p class="wp-block-paragraph">and subscribe. You know sometimes I&#8217;m sleeping in the middle of the night and</p>



<p class="wp-block-paragraph">I just wake up because I know somebody subscribed or followed. It just wakes me</p>



<p class="wp-block-paragraph">up and I get filled with joy. That&#8217;s exactly what happens every single time.</p>



<p class="wp-block-paragraph">So you could do it as a nice favor to me or you could you could troll me if you</p>



<p class="wp-block-paragraph">want to just wake me up in the middle of the night just subscribe and then I&#8217;ll</p>



<p class="wp-block-paragraph">just wake up. I promise that&#8217;s what will happen. Also if you look at the middle of</p>



<p class="wp-block-paragraph">the screen right now you should see a QR code which you can scan in order to go</p>



<p class="wp-block-paragraph">to the website which I think is also named somewhere at the bottom of this</p>



<p class="wp-block-paragraph">is also named somewhere at the bottom of this video and it&#8217;ll take you to my main website where</p>



<p class="wp-block-paragraph">you can just kind of like see all the videos i published and the services and tutorials and</p>



<p class="wp-block-paragraph">things that i offer and all that good stuff and uh if you have a suggestion for uh uh clarifications</p>



<p class="wp-block-paragraph">or errata or just future videos that you want to see please leave a comment or if you just want to</p>



<p class="wp-block-paragraph">say hey what&#8217;s up what&#8217;s going on you know just send me a comment whatever i also wake up for</p>



<p class="wp-block-paragraph">the night I get I wake up in a cold sweat I&#8217;m like it would really it really mean the world to</p>



<p class="wp-block-paragraph">me I would really appreciate it so again thank you so much for watching this video and um enjoy</p>



<p class="wp-block-paragraph">the cool music as as I fade into the darkness which is coming for us all</p>



<p class="wp-block-paragraph">Thank you.</p>



<p class="wp-block-paragraph">Hello there.</p>



<p class="wp-block-paragraph">Let&#8217;s talk about rotation types in an AVL self-balancing binary search tree.</p>
<p>The post <a href="https://www.NeuralLantern.com/avl-tree-rotation-types-explained-for-self-balancing-binary-search-trees/">AVL Tree Rotation Types Explained for Self-Balancing Binary Search Trees</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.NeuralLantern.com/avl-tree-rotation-types-explained-for-self-balancing-binary-search-trees/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AVL Tree Tutorial: Balance Factors and Why They Fix Slow BSTs</title>
		<link>https://www.NeuralLantern.com/avl-tree-tutorial-balance-factors-and-why-they-fix-slow-bsts/</link>
					<comments>https://www.NeuralLantern.com/avl-tree-tutorial-balance-factors-and-why-they-fix-slow-bsts/#respond</comments>
		
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Mon, 18 May 2026 06:09:32 +0000</pubDate>
				<category><![CDATA[AVL Trees]]></category>
		<category><![CDATA[Binary Search Trees]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[AVL tree]]></category>
		<category><![CDATA[AVL tree rotation]]></category>
		<category><![CDATA[AVL trees]]></category>
		<category><![CDATA[balance factor]]></category>
		<category><![CDATA[balanced binary tree]]></category>
		<category><![CDATA[binary search tree]]></category>
		<category><![CDATA[bst]]></category>
		<category><![CDATA[coding tutorial]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[data structures]]></category>
		<category><![CDATA[programming tutorial]]></category>
		<category><![CDATA[self balancing binary search tree]]></category>
		<category><![CDATA[tree rotation]]></category>
		<guid isPermaLink="false">https://www.NeuralLantern.com/?p=371</guid>

					<description><![CDATA[<p>AVL trees are self-balancing binary search trees that prevent the tree from becoming unbalanced. We compute balance factors as the absolute value of left subtree height minus right subtree height. If any node has a balance factor of 2 or worse, we rebalance using rotations on trinode subtrees. This keeps search, insert, and other operations efficient at logarithmic time.</p>
<p>The post <a href="https://www.NeuralLantern.com/avl-tree-tutorial-balance-factors-and-why-they-fix-slow-bsts/">AVL Tree Tutorial: Balance Factors and Why They Fix Slow BSTs</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="AVL Tree Tutorial: Balance Factors and Why They Fix Slow BSTs" width="1380" height="776" src="https://www.youtube.com/embed/xfMFNMpGVz0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Learn AVL trees in this beginner-friendly introduction. We cover balance factors, why regular BSTs get slow, and how AVL trees stay balanced with rotations. Great for coding interviews and data structure understanding.</p>



<p class="wp-block-paragraph">00:00 AVL Trees Introduction<br>00:00:28 Problems with Regular BSTs<br>00:00:56 AVL Tree Balance Rule<br>00:02:10 Balance Factor Explained<br>00:02:48 Computing Balance Factors<br>00:03:11 Example Tree Analysis<br>00:04:40 Imbalance at 65 Node<br>00:05:08 Invalid AVL Tree<br>00:06:18 Linear Tree Problem<br>00:06:50 Trinode Subtree<br>00:07:40 Selecting Z Y X Nodes<br>00:09:20 Rotation Overview<br>00:10:03 Next Videos Preview<br>00:11:09 Thank You and Subscribe</p>



<p class="wp-block-paragraph">=-=-=-=-=-=-=-=-=</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">Find us on other social media here:</p>



<ul class="wp-block-list">
<li>https://www.NeuralLantern.com/social</li>



<li>Twitter / X: https://x.com/NeuralLantern</li>



<li>Rumble: https://rumble.com/c/c-3696939</li>



<li>BitChute: https://www.bitchute.com/channel/pg1Pvv5dN4Gt</li>



<li>Daily Motion: https://www.dailymotion.com/neurallantern</li>



<li>Minds: https://www.minds.com/neurallantern/</li>



<li>Odysee: https://odysee.com/@NeuralLantern:5</li>
</ul>



<p class="wp-block-paragraph">Please show your support!</p>



<ul class="wp-block-list">
<li>Buy me a coffee: https://ko-fi.com/neurallantern</li>



<li>Subscribe + Sharing on Social Media</li>



<li>Leave a comment or suggestion</li>



<li>Subscribe to the Blog: https://www.NeuralLantern.com</li>



<li>Watch the main &#8220;pinned&#8221; video of this channel for offers and extras</li>
</ul>



<p class="wp-block-paragraph">Hello there. Let&#8217;s talk about a type of self-balancing binary search tree called an AVL tree.</p>



<p class="wp-block-paragraph">Okay, so by now I hope you&#8217;ve seen my other videos that I&#8217;ve posted</p>



<p class="wp-block-paragraph">previously where we talked about binary search trees, how to define them,</p>



<p class="wp-block-paragraph">terminology, how to know you&#8217;re actually looking at one, how to build them, insert,</p>



<p class="wp-block-paragraph">If you finish those videos already with me, then you know that binary search trees can actually get slow sometimes because if we have bad data, regular binary search trees don&#8217;t really know how to rearrange themselves.</p>



<p class="wp-block-paragraph">They just might become slow depending on how good or bad the data is.</p>



<p class="wp-block-paragraph">The data is totally random.</p>



<p class="wp-block-paragraph">Then on average, it&#8217;ll, you know, the trees will be log time, but that&#8217;s not always the case.</p>



<p class="wp-block-paragraph">Maybe sometimes you have bad data, sorted data, poison data, whatever kind of data.</p>



<p class="wp-block-paragraph">The secret to AVL trees is we&#8217;re going to start with the binary search tree.</p>



<p class="wp-block-paragraph">And so first it has to satisfy all the rules of the binary search tree.</p>



<p class="wp-block-paragraph">And then we add on another rule.</p>



<p class="wp-block-paragraph">The rule is going to be that we don&#8217;t have a valid AVL tree.</p>



<p class="wp-block-paragraph">If the balance factor for any of the nodes, we&#8217;ll talk about balance factors in a second.</p>



<p class="wp-block-paragraph">If the balance factor for any node is two or worse.</p>



<p class="wp-block-paragraph">Meaning if we think the tree is too imbalanced at any node, it&#8217;s not a valid AVL tree.</p>



<p class="wp-block-paragraph">and therefore we must rebalance the tree with something called a rotation.</p>



<p class="wp-block-paragraph">After we do enough rotations and we see that the tree is balanced again, then it&#8217;ll be valid.</p>



<p class="wp-block-paragraph">And so AVL trees sometimes are invalid in some intermediate state.</p>



<p class="wp-block-paragraph">Like if you have an AVL tree and you add some data into it,</p>



<p class="wp-block-paragraph">for a moment it might be an invalid AVL tree and then internally it&#8217;s sort of just like rotating itself and rebalancing itself.</p>



<p class="wp-block-paragraph">Then when the tree is done, you&#8217;ll have a valid AVL tree again, if that makes sense.</p>



<p class="wp-block-paragraph">AVL tree again if that makes sense. So suppose this tree here we can tell this is a valid binary</p>



<p class="wp-block-paragraph">search tree because it follows all the rules that we talked about before. So let&#8217;s start implementing</p>



<p class="wp-block-paragraph">the first rule of an AVL tree which is let&#8217;s compute the balance factors for every single node.</p>



<p class="wp-block-paragraph">How do we compute balance factors? The basic idea is I want to say BF for balance factor</p>



<p class="wp-block-paragraph">the left subtree height minus the right subtree height.</p>



<p class="wp-block-paragraph">If you don&#8217;t know what a subtree or height is,</p>



<p class="wp-block-paragraph">you should probably check out my other videos right now.</p>



<p class="wp-block-paragraph">But basically, we&#8217;re just going to take the absolute value</p>



<p class="wp-block-paragraph">just to get the difference in the height of the left</p>



<p class="wp-block-paragraph">and the height of the right.</p>



<p class="wp-block-paragraph">So if you know binary search trees already,</p>



<p class="wp-block-paragraph">then you know that the leaves, they don&#8217;t have any subtrees.</p>



<p class="wp-block-paragraph">So their balance factor is going to be pretty easy to compute.</p>



<p class="wp-block-paragraph">It&#8217;s just going to be a zero.</p>



<p class="wp-block-paragraph">I should also point out that some other tutorials out there use positive and negative numbers</p>



<p class="wp-block-paragraph">for the balance factor.</p>



<p class="wp-block-paragraph">That&#8217;s okay.</p>



<p class="wp-block-paragraph">I&#8217;m just going to use absolute values here because it&#8217;s a little bit more simple.</p>



<p class="wp-block-paragraph">So all the leaves get a balance factor of zero, which is fine.</p>



<p class="wp-block-paragraph">We&#8217;re looking to see if we can find a balance factor of two or worse to indicate to us that</p>



<p class="wp-block-paragraph">we have an invalid AVL tree.</p>



<p class="wp-block-paragraph">So far, so good.</p>



<p class="wp-block-paragraph">Let&#8217;s look at the 22 node.</p>



<p class="wp-block-paragraph">we&#8217;ll compute the height of the left subtree versus the height of the right subtree.</p>



<p class="wp-block-paragraph">So, you know, I&#8217;m going to highlight its left subtree.</p>



<p class="wp-block-paragraph">That&#8217;s just the 14 node that has a height of 1.</p>



<p class="wp-block-paragraph">And then its right subtree is just the 36 node that also has a height of 1,</p>



<p class="wp-block-paragraph">which means the balance factor for the 22 node is the absolute value of 1 minus 1 is 0.</p>



<p class="wp-block-paragraph">So actually the 22 node is perfectly balanced.</p>



<p class="wp-block-paragraph">If you think about it, that makes sense.</p>



<p class="wp-block-paragraph">Left and right subtrees have the same height.</p>



<p class="wp-block-paragraph">No problem.</p>



<p class="wp-block-paragraph">have the same height no problem so I&#8217;m going to move on let&#8217;s compute the balance factor for the</p>



<p class="wp-block-paragraph">48 node this is a little trickier notice how the right subtree has a height of one and there is no</p>



<p class="wp-block-paragraph">left subtree which means its height is zero so for the 48 node it&#8217;s actually going to be</p>



<p class="wp-block-paragraph">the absolute value of zero minus one or just one so we find our first node that&#8217;s a little bit out</p>



<p class="wp-block-paragraph">imbalance here but avl trees tolerate imbalances of one they don&#8217;t really care we sort of try to</p>



<p class="wp-block-paragraph">make a trade-off between constantly always rotating every single time anything happens</p>



<p class="wp-block-paragraph">which would perhaps burn a little too much cpu versus letting the tree just be imbalanced to a</p>



<p class="wp-block-paragraph">reasonable amount so we could still call this a log tree in the end so we consider this to be okay</p>



<p class="wp-block-paragraph">65 node and compute the balance factor so 65 node has no right subtree so the height is zero there</p>



<p class="wp-block-paragraph">and its left subtree is those two nodes on the left so that has a height of two which means the</p>



<p class="wp-block-paragraph">balance factor for the 65 node is going to be the absolute value of two minus zero is two at this</p>



<p class="wp-block-paragraph">point we are already certain that this is not a valid avl tree and it would need to be rebalanced</p>



<p class="wp-block-paragraph">you know, consider it a valid AVL tree in the future.</p>



<p class="wp-block-paragraph">So invalid AVL tree, still a valid binary search tree.</p>



<p class="wp-block-paragraph">Something has to be done.</p>



<p class="wp-block-paragraph">Normally what I would say is if you find some nodes</p>



<p class="wp-block-paragraph">way down lower in the tree that are imbalanced,</p>



<p class="wp-block-paragraph">then just go ahead and perform a rebalancing</p>



<p class="wp-block-paragraph">or a rotation immediately,</p>



<p class="wp-block-paragraph">because sometimes when you rotate lower in the tree,</p>



<p class="wp-block-paragraph">you&#8217;ll end up fixing nodes that are a little higher.</p>



<p class="wp-block-paragraph">But since we started with this tree</p>



<p class="wp-block-paragraph">and we&#8217;re not kind of, you know,</p>



<p class="wp-block-paragraph">building a tree step-by-step,</p>



<p class="wp-block-paragraph">I just want to compute the balance factor for all of the nodes at the same time.</p>



<p class="wp-block-paragraph">So we&#8217;ll do the same thing for the 41 node, the root node.</p>



<p class="wp-block-paragraph">Its left subtree has a height of two and its right subtree has a height of three.</p>



<p class="wp-block-paragraph">So its balance factor is the absolute value of two minus three is one.</p>



<p class="wp-block-paragraph">So actually the root node is okay.</p>



<p class="wp-block-paragraph">If it was only up to the root node, we would say this is a valid AVL tree</p>



<p class="wp-block-paragraph">and we don&#8217;t really need to do anything.</p>



<p class="wp-block-paragraph">need to do anything however we&#8217;ve already seen that the 65 node is invalid so again uh we we</p>



<p class="wp-block-paragraph">need to do something here&#8217;s another quick example before we move on to actually identifying which</p>



<p class="wp-block-paragraph">nodes to to modify and rotate just real fast i want to show you you know that a binary search</p>



<p class="wp-block-paragraph">tree could actually end up being a linear tree if you had really really really bad data the binary</p>



<p class="wp-block-paragraph">This is slow because this is a linear tree.</p>



<p class="wp-block-paragraph">The time complexity of searching through this tree is linear time.</p>



<p class="wp-block-paragraph">It scales linearly with the number of nodes in your data set.</p>



<p class="wp-block-paragraph">That&#8217;s really far away from log time, which is supposed to be lightning fast.</p>



<p class="wp-block-paragraph">So an AVL tree will fix this kind of bad data.</p>



<p class="wp-block-paragraph">Let&#8217;s take a step back here and focus your attention for a second on these three nodes.</p>



<p class="wp-block-paragraph">We noticed that there is one node that&#8217;s actually out of whack.</p>



<p class="wp-block-paragraph">It&#8217;s the 65 node, right?</p>



<p class="wp-block-paragraph">What we&#8217;re going to do is we&#8217;re going to find a trinode subtree that starts with the first node or the lowest node we can find that&#8217;s out of whack.</p>



<p class="wp-block-paragraph">It&#8217;s the 65 node.</p>



<p class="wp-block-paragraph">And you can tell that if we just kind of go down a level and down another level to select the other two nodes,</p>



<p class="wp-block-paragraph">it&#8217;s just going to be this little, you know, subtree of three nodes or otherwise known as a trinode subtree.</p>



<p class="wp-block-paragraph">So here&#8217;s kind of a diagram for that.</p>



<p class="wp-block-paragraph">Whoops, forgot to delete that earlier.</p>



<p class="wp-block-paragraph">Let me get rid of that.</p>



<p class="wp-block-paragraph">So this is the trinode subtree that we selected, right?</p>



<p class="wp-block-paragraph">So we&#8217;ve got the 65 and the 48 and the 55.</p>



<p class="wp-block-paragraph">How did we actually select this?</p>



<p class="wp-block-paragraph">So what you kind of want to do is the first node that is out of whack,</p>



<p class="wp-block-paragraph">you want to call that Z.</p>



<p class="wp-block-paragraph">So I&#8217;m going to write a Z here.</p>



<p class="wp-block-paragraph">What we&#8217;re looking for is a trinode subtree,</p>



<p class="wp-block-paragraph">which we&#8217;ll first call X and Y and Z.</p>



<p class="wp-block-paragraph">And then we&#8217;ll end up reordering the nodes</p>



<p class="wp-block-paragraph">and then rearranging all the pointers to the nodes</p>



<p class="wp-block-paragraph">so that the trinode subtree is a little bit more in balance.</p>



<p class="wp-block-paragraph">more in balance. So we see the Z node. We have to find the Y node next. To find the Y node,</p>



<p class="wp-block-paragraph">what&#8217;s going on with my computer? Oh, there we go. We have the Z node. To find the Y node,</p>



<p class="wp-block-paragraph">really, we&#8217;re just going to take the child of the 65 node that has the taller subtree. So</p>



<p class="wp-block-paragraph">there&#8217;s only one subtree, you know, on the left, there&#8217;s no subtree on the right of the 65 node.</p>



<p class="wp-block-paragraph">So the choice is obvious. But just so you know, if there was, you know, another, you know, child</p>



<p class="wp-block-paragraph">another you know child hanging off of the right for some reason we would still choose the number</p>



<p class="wp-block-paragraph">48 node as the y node because it has the taller subtree notice how the subtree on the left is two</p>



<p class="wp-block-paragraph">and the subtree on the right has a height of one so always take the taller subtree when you&#8217;re</p>



<p class="wp-block-paragraph">looking for uh y and then x so then we do the same thing we go down to the grandchild of the z node</p>



<p class="wp-block-paragraph">and if we had a choice to go left or right again we would always choose the taller subtree in this</p>



<p class="wp-block-paragraph">taller subtree in this case there&#8217;s only one choice so that x node is going to be the 55</p>



<p class="wp-block-paragraph">now in this next slide i&#8217;ve kind of redrawn this in a little bit different of a way</p>



<p class="wp-block-paragraph">notice the trinode subtree that we just selected here the 65 48 55 subtree it has a height of three</p>



<p class="wp-block-paragraph">i mean that should be obvious right it&#8217;s just got a height of three</p>



<p class="wp-block-paragraph">or height. Notice on the left, these are the same three nodes. Exactly. 48, 55, and 65. That&#8217;s the</p>



<p class="wp-block-paragraph">same three nodes that we originally had. But notice how the height is too. So the basic idea for ABL</p>



<p class="wp-block-paragraph">trees is, you know, compute the balance factors. And as soon as you identify a node that&#8217;s out of</p>



<p class="wp-block-paragraph">whack, you grab a tri-node sub-tree starting at the node that&#8217;s out of whack, the Z node.</p>



<p class="wp-block-paragraph">And then we&#8217;ll perform, quote unquote, a rotation where we just kind of smoosh it to be a little</p>



<p class="wp-block-paragraph">be a little bit more balanced and a little bit more a little bit shorter so the height goes from</p>



<p class="wp-block-paragraph">three to two once we do that the rest of the tree it&#8217;s going to get a little bit better you&#8217;ll notice</p>



<p class="wp-block-paragraph">that this will end up sometimes completely but sometimes partially fixing bad balance factors</p>



<p class="wp-block-paragraph">in the tree so um this is the end of the intro i only wanted to spend a little time just kind of</p>



<p class="wp-block-paragraph">like warming you up to the idea in the next videos uh we&#8217;re going to actually look at performing</p>



<p class="wp-block-paragraph">identifying the four different types of rotations that you could see and like how to do them.</p>



<p class="wp-block-paragraph">We&#8217;ll talk more about the idea that we&#8217;re really just rearranging pointers here.</p>



<p class="wp-block-paragraph">If you&#8217;re thinking about code, you&#8217;re thinking about, oh, I&#8217;ve got some pointers between these</p>



<p class="wp-block-paragraph">nodes. We&#8217;re not going to delete any nodes or add any nodes. We&#8217;re just going to like</p>



<p class="wp-block-paragraph">rearrange who is a parent of who, who is a child of who. And then eventually we&#8217;ll deal with some</p>



<p class="wp-block-paragraph">really bad trees and we&#8217;ll become experts at just like maintaining ABL trees.</p>



<p class="wp-block-paragraph">talk about ways to visualize the rotations, which makes it a little bit easier to remember these</p>



<p class="wp-block-paragraph">patterns and stuff. Okay, so thank you for watching this video. I hope you learned a little bit of</p>



<p class="wp-block-paragraph">stuff and had a little bit of fun. In the next one, we&#8217;re going to get started. We&#8217;re going to</p>



<p class="wp-block-paragraph">go deep. I&#8217;m going to get my gear. Sorry.</p>



<p class="wp-block-paragraph">Hey, everybody. Thanks for watching this video again from the bottom of my heart. I really</p>



<p class="wp-block-paragraph">from the bottom of my heart. I really appreciate it. I do hope you did learn something and have</p>



<p class="wp-block-paragraph">some fun. If you could do me a please, a small little favor, could you please subscribe and</p>



<p class="wp-block-paragraph">follow this channel or these videos or whatever it is you do on the current social media website</p>



<p class="wp-block-paragraph">that you&#8217;re looking at right now? It would really mean the world to me and it&#8217;ll help make more</p>



<p class="wp-block-paragraph">videos and grow this community. So we&#8217;ll be able to do more videos, longer videos, better videos,</p>



<p class="wp-block-paragraph">Do me a kindness and subscribe.</p>



<p class="wp-block-paragraph">You know, sometimes I&#8217;m sleeping in the middle of the night and I just wake up because I know somebody subscribed or followed.</p>



<p class="wp-block-paragraph">It just wakes me up and I get filled with joy.</p>



<p class="wp-block-paragraph">That&#8217;s exactly what happens every single time.</p>



<p class="wp-block-paragraph">So you could do it as a nice favor to me or you could troll me if you want to just wake me up in the middle of the night.</p>



<p class="wp-block-paragraph">Just subscribe and then I&#8217;ll just wake up.</p>



<p class="wp-block-paragraph">I promise that&#8217;s what will happen.</p>



<p class="wp-block-paragraph">Also, if you look at the middle of the screen right now, you should see a QR code which you can scan in order to go to the website.</p>



<p class="wp-block-paragraph">in order to go to the website which i think is also named somewhere at the bottom of this video</p>



<p class="wp-block-paragraph">and it&#8217;ll take you to my main website where you can just kind of like see all the videos i published</p>



<p class="wp-block-paragraph">and the services and tutorials and things that i offer and all that good stuff and uh</p>



<p class="wp-block-paragraph">if you have a suggestion for uh uh clarifications or errata or just future videos that you want to</p>



<p class="wp-block-paragraph">see please leave a comment or if you just want to say hey what&#8217;s up what&#8217;s going on you know</p>



<p class="wp-block-paragraph">I also wake up for those in the middle of the night. I get I wake up in a cold sweat and I&#8217;m like</p>



<p class="wp-block-paragraph">it would really it really mean the world to me. I would really appreciate it. So again thank you</p>



<p class="wp-block-paragraph">so much for watching this video and enjoy the cool music as I fade into the darkness</p>



<p class="wp-block-paragraph">which is coming for us all.</p>



<p class="wp-block-paragraph">Thank you.</p>
<p>The post <a href="https://www.NeuralLantern.com/avl-tree-tutorial-balance-factors-and-why-they-fix-slow-bsts/">AVL Tree Tutorial: Balance Factors and Why They Fix Slow BSTs</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.NeuralLantern.com/avl-tree-tutorial-balance-factors-and-why-they-fix-slow-bsts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
