树旋转 在数据结构中树旋转英語Tree rotation是对二叉树的一种操作不影响元素的顺序但会改变树的结构将一个节点上移一个节点下移树旋转会改变树的形状因此常被用来将较小的子树下移较大的子树上移从而降低树的高度提升许多树操作的效率 树的旋转方向有很多不同的定义有些定义彼此之间还存在冲突有些人认为旋转方向应该反映节点的移动方向左子树旋转到父节点的位置为右旋有些人则认为旋转方向应该反映被旋转的子树是哪棵左子树旋转到父节点的位置为左旋与前一种说法相反这篇维基文章采用前者的定义旋转方向为节点的移动方向