二叉树的左旋和右旋

来源:本站
导读:目前正在解读《二叉树的左旋和右旋》的相关信息,《二叉树的左旋和右旋》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《二叉树的左旋和右旋》的详细说明。
简介:树的旋转,分为左旋和右旋,以下借助图来做形象的解释和介绍:

树的旋转,分为左旋和右旋,以下借助图来做形象的解释和介绍:

1.左旋(右子为轴,当前结点左旋)

二叉树的左旋和右旋

如上图所示:

当在某个结点pivot上,做左旋操作时,我们假设它的右孩子y不是NIL[T],pivot可以为树内任意右孩子而不是NIL[T]的结点。

左旋以pivot到y之间的链为“支轴”进行,它使y成为该孩子树新的根,而y的左孩子b则成为pivot的右孩子。

来看算法导论对此操作的算法实现(以x代替上述的pivot):

LEFT-ROTATE(T,x)

1y←right[x]▹Sety.

2right[x]←left[y]▹Turny's left subtree intox's right subtree.

3p[left[y]]←x

4p[y]←p[x]▹Linkx's parent toy.

5ifp[x] =nil[T]

6thenroot[T]←y

7else ifx=left[p[x]]

8thenleft[p[x]]←y

9elseright[p[x]]←y

10left[y]←x▹Putxony's left.

11p[x]←y

2.右旋

右旋与左旋差不多,再此不做详细介绍。

二叉树的左旋和右旋

提醒:《二叉树的左旋和右旋》最后刷新时间 2024-03-14 00:57:36,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《二叉树的左旋和右旋》该内容的真实性请自行鉴别。