Practical No 10 Faiz
Practical No 10 Faiz
// AVL Node
class AVLNode {
public:
int key;
int height;
AVLNode* left;
AVLNode* right;
// AVL Tree
class AVLTree {
private:
AVLNode* root;
x->right = y;
y->left = T2;
updateHeight(y);
updateHeight(x);
return x;
}
y->left = x;
x->right = T2;
updateHeight(x);
updateHeight(y);
return y;
}
updateHeight(node);
// Left Heavy
if (balance > 1) {
if (getBalanceFactor(node->left) < 0) {
node->left = rotateLeft(node->left);
}
return rotateRight(node);
}
// Right Heavy
if (balance < -1) {
if (getBalanceFactor(node->right) > 0) {
node->right = rotateRight(node->right);
}
return rotateLeft(node);
}
return node;
}
return balanceNode(node);
}
public:
AVLTree() : root(nullptr) {}
int main() {
AVLTree myAVLTree;
myAVLTree.insert(10);
myAVLTree.insert(20);
myAVLTree.insert(30);
myAVLTree.insert(40);
myAVLTree.insert(50);
myAVLTree.insert(25);
return 0;
}
*OUTPUT*