Avl Tree
Avl Tree
class Node {
public:
int key;
Node* left;
Node* right;
int height;
};
class AVLTree {
public:
Node* root;
AVLTree() {
root = nullptr;
}
Node* rightRotate(Node* y) {
Node* x = y->left;
Node* T2 = x->right;
x->right = y;
y->left = T2;
return x;
}
Node* leftRotate(Node* x) {
Node* y = x->right;
Node* T2 = y->left;
y->left = x;
x->right = T2;
return y;
}
return node;
}
inorderTraversal(root->left);
cout << root->key << " ";
inorderTraversal(root->right);
}
postorderTraversal(root->left);
postorderTraversal(root->right);
cout << root->key << " ";
}
int main() {
AVLTree tree;
tree.insert(10);
tree.insert(20);
tree.insert(30);
tree.insert(40);
tree.insert(50);
tree.insert(25);
return 0;
}