算法-红黑树旋转

(引用)https://studygolang.com/articles/7014

  树的旋转包括左旋和右旋,下面图解说明

左旋


       左旋:以P为轴心左旋,N原来的父节点P作为N节点的左孩子,原N节点的左孩子变为P节点的右孩子,左旋就完成了。

右旋

       右旋:与左旋类似,只是把N节点的右孩子变为了P节点的左孩子。

需几点注意:

  1. 节点左旋必须有右孩子,右旋必须有左孩子。
  2. 如果N经过旋转变成了根节点,一定要记得将RBTree结构体中的根节点指针root指向N,这是容易出错的地方。

posted on 2017-10-25 18:54  li仲玄  阅读(210)  评论(1编辑  收藏  举报

导航