Left rotation
Left rotation refers to the following
- In an Array [data structure|array], moving all items to the next lower location. The first item is moved to the last location, which is now vacant.
- In a list, removing the head and inserting it at the tail.
- In machine code moving all bits in a register to the left, with the leftmost becoming the rightmost.
Tree rotation
In a binary search tree, a left rotation is the movement of a node, X, down to the left. This rotation assumes that X has a right child. X's right child, R, becomes X's parent node and R's left child becomes X's new right child. This rotation is done to balance the tree; specifically when the right subtree of node X has a significantly greater height than its left subtree.Left rotations are order preserving in a binary search tree; it preserves the binary search tree property. AVL trees and red–black trees are two examples of binary search trees that use the left rotation.
A single left rotation is done in O time but is often integrated within the node insertion and deletion of binary search trees. The rotations are done to keep the cost of other methods and tree height at a minimum.