MCPcopy
hub / github.com/kunal-kushwaha/DSA-Bootcamp-Java / rotate

Method rotate

lectures/20-trees/code/AVL/AVL.java:56–84  ·  view source on GitHub ↗
(Node node)

Source from the content-addressed store, hash-verified

54 }
55
56 private Node rotate(Node node) {
57 if (height(node.left) - height(node.right) > 1) {
58 // left heavy
59 if(height(node.left.left) - height(node.left.right) > 0) {
60 // left left case
61 return rightRotate(node);
62 }
63 if(height(node.left.left) - height(node.left.right) < 0) {
64 // left right case
65 node.left = leftRotate(node.left);
66 return rightRotate(node);
67 }
68 }
69
70 if (height(node.left) - height(node.right) < -1) {
71 // right heavy
72 if(height(node.right.left) - height(node.right.right) < 0) {
73 // right right case
74 return leftRotate(node);
75 }
76 if(height(node.right.left) - height(node.right.right) > 0) {
77 // left right case
78 node.right = rightRotate(node.right);
79 return leftRotate(node);
80 }
81 }
82
83 return node;
84 }
85
86 public Node rightRotate(Node p) {
87 Node c = p.left;

Callers 1

insertMethod · 0.95

Calls 3

heightMethod · 0.95
rightRotateMethod · 0.95
leftRotateMethod · 0.95

Tested by

no test coverage detected