樹旋轉

在數據結構中 ， 樹旋轉  是對二叉樹的一種操作 ， 不影響元素的順序 ， 但會改變樹的結構 ， 將一個節點上移 、 一個節點下移 。 樹旋轉會改變樹的形狀 ， 因此常被用來將較小的子樹下移 、 較大的子樹上移 ， 從而降低樹的高度 、 提升許多樹操作的效率 。 樹的旋轉方向有很多不同的定義 ， 有些定義彼此之間還存在衝突 。 有些人認爲旋轉方向應該反映節點的移動方向 （ 左子樹旋轉到父節點的位置爲右旋 ） ， 有些人則認爲旋轉方向應該反映被旋轉的子樹是哪棵 （ 左子樹旋轉到父節點的位置爲左旋 ， 與前一種說法相反 ） 。 這篇維基文章採用前者的定義 ： 旋轉方向爲節點的移動方向 。