2
$\begingroup$

I'm studying AVL Trees in my programming class and we got this exercise dealing with right, left, left-right and right-left rotations as a way to check if we understand the theoretical concept of AVL Trees. We're given the numbers $100,50,25,10,37,32,200$. Creating an AVL Tree until $37$ wasn't that difficult but then I got stuck at balancing out the tree when I insert $32$. The following is my method:

enter image description here

Now I know that there is a conflict at $52$ but since it has 3 nodes (LRL), I don't understand how I should rotate. I think, I should get $37$ as the root node $25$ as it's left child and $52$ as it's right child but I dunno.

$\endgroup$
1
$\begingroup$

I think, I should get 37 as the root node 25 as it's left child and 52 as it's right child but I dunno.

You plan is correct.

What you need to do is a left-right rotation as shown in the third column of the table below. That is, a left rotation at node 25 followed by a right rotation at 52. It is symmetric to the right-left rotation as shown in the fourth column and as explained in Wikipedia.

tree rebalancing picture at wikimedia

$\endgroup$
-1
$\begingroup$

Balanced AVL tree

1st step : Left-Left rotation. 2nd & 3rd step :Left-Right Rotation. 4th step: Right-Right Rotation. 5th is Final AVL tree.

https://www.tutorialspoint.com/data_structures_algorithms/avl_tree_algorithm.htm

$\endgroup$
  • $\begingroup$ Can you explain how did you know in which directions to perform the rotations? $\endgroup$ – Yuval Filmus Mar 8 at 21:15
  • $\begingroup$ @Yuval Filmus , a link is added for better explanation. $\endgroup$ – NIKHIL Mar 9 at 9:15
  • $\begingroup$ OK but what happens if that link breaks? We're trying to be a collection of answers: Google already does the "links to answers" thing far better than we ever could. $\endgroup$ – David Richerby Mar 9 at 11:07
  • $\begingroup$ In that case that child will be added to same level where it was before rotation. $\endgroup$ – NIKHIL Mar 9 at 11:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.