Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private TreeNode<T> balance(TreeNode<T> curNode, T data) {
- if(curNode==null) return null;
- int balDiff=balanceFactor(curNode);
- // Left Rotate
- if (balDiff > 1 && data.compareTo(curNode.left.data)<0) {
- {
- return rotateRight(curNode);
- }
- }
- // Right Rotate
- if (balDiff < -1 && data.compareTo(curNode.right.data)>0) {
- return rotateLeft(curNode);
- }
- // Left Right Rotate
- if (balDiff > 1 && data.compareTo(curNode.left.data)>0) {
- curNode.left = rotateLeft(curNode.left);
- return rotateRight(curNode);
- }
- // Right Left Rotate
- if (balDiff < -1 && data.compareTo(curNode.right.data)<0) {
- curNode.right = rotateRight(curNode.right);
- return rotateLeft(curNode);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement