avltree
🧩 Syntax:
open("/home/tca/Desktop/aux.cpp", 'w').write("""
Insert:
n->height = 1 + max(height(n->left), height(n->right));
int balance = get_balance(n);
if (balance < -1 && k < n->left->val)
return rotate_right(n);
if (balance > 1 && k > n->right->val)
return rotate_left(n);
if (balance < -1 && k > n->left->val)
{
n->left = rotate_left(n->left);
return rotate_right(n);
}
if (balance > 1 && k < n->right->val)
{
n->right = rotate_right(n->right);
return rotate_left(n);
}
Delete:
n->height = 1 + max(height(n->left), height(n->right));
int balance = get_balance(n);
if (balance < -1 && k < n->left->val)
return rotate_right(n);
if (balance > 1 && k > n->right->val)
return rotate_left(n);
if (balance < -1 && k > n->left->val)
{
n->left = rotate_left(n->left);
return rotate_right(n);
}
if (balance > 1 && k < n->right->val)
{
n->right = rotate_right(n->right);
return rotate_left(n);
}
""")