 Now that we have an understanding of an AVL tree, remember this idea that it is self-balancing, we're going to take that idea of self-balancing and completely scrap it. What? We just learned about it, right? No. So, it's not that it's a bad thing. In fact, that's what we want with an AVL tree. However, what I'm going to show you is another type of tree that still uses rotations. In fact, I'll say, through rotations, I'm going to show you another type of tree known as a splay tree. Now the entire difference between an AVL tree and a splay tree is we would say that an AVL tree is self-balancing through rotations. I would rotate to the left, to the right, or I would do a trinode restructuring double rotation, if you will, to continue making sure that my tree stayed in balance the entire time. Instead, the splay tree is going to work off of what we would classify as a move-to-route heuristic. Heuristic is just a big fancy word for implementation. The entire idea is now, whatever I do, if I happen to do a lookup, if I happen to do an insert, if I happen to do a remove, and this one will spend a lot of time with, if I happen to do any of these nodes, whenever I access a node, whenever I, capital I, access a node, move it to the route. You can already tell my handwriting gets a little sloppy there. I said to twice, move it to the route. And the idea of the, the entire principle behind the splay tree in this case is that more popular items, more popular items get accessed faster. So while it's not going to be balanced by any means, our more popular items, in theory, should always be somewhere closer to the very top of the tree. That way, I, since they're more popular, if I want to access them the second time, I happen to have that in approach. So let's say, for example, we do a very simple insert for just a second. Insert 50. Now as you can see from my blank canvas, I don't have any nodes. So, well, that same rule applies. It's going to become my new route. But what if I came in and did, and I'll use the same color there, what if I came in and then did something like an insert 25? Well, in a normal binary search tree, I'd come in and I'd still make that 25 over here to the left. But, just like I said, once I do any type of access of a node, in this case that 25, I want to move it to the route. So in that case, I have to move it to the route. Now, how I do this is actually the interesting thing. So, we were talking about, with an AVL tree, the idea of rotation. I'm going to do the exact same types of rotation as before. Now, these get broken down into what we would call a zig, a zig, zig, and a zig, zag.