上面的图示仅描述了如何进行局部变换, 在实际应用中, 还需要将原有父节点的父节点纳入考虑范围. 以上述右旋转为例, 如果 Q 是其父节点 root 的左子节点, 则在旋转完后 root 的左子节点需要修改指向节点 P. 但这一点并没有体现在上面的图示中.
在接下来的实现中, 假设从树中任一节点 N 能够借由 N.left 访问其左子节点, N.right 访问其右子节点, N.parent 访问其父节点. 此外, 称旋转后变为父亲的节点为转轴pivot, 称 pivot 在旋转前的父节点为 parent, 而 parent 在旋转前的父节点为 root. 则右旋转过程可用伪代码表示为:
funcrotate_right(pivot): letparent=pivot.parent letroot=parent.parent //R0 parent.left=pivot.right ifpivot.right!=nil:pivot.right.parent=parent //R1 pivot.parent=root ifparent==root.left: root.left=pivot else: root.right=pivot pivot.right=parent parent.parent=pivot
树旋转包括两个不同的方式,分别是右旋转(以P为转轴)和左旋转(以Q为转轴)。两种旋转呈镜像,而且互为逆操作。
下图示意了两种树旋转过程中, 子树的初态和终态:
--- --- |Q||P| --- --- /\rightrotation/\ --- --- -------------> --- --- |P||Z||X||Q| --- --- <------------- --- --- /\leftrotation/\ --- --- --- --- |X||Y||Y||Z| --- --- --- ---
其中, 右旋转详细步骤如下图 R0, R1, R2 三个步骤所示, 左旋转则如 L0, L1, L2 三个步骤所示。
__ /\ --- / --- |Q|/|Q| --- --- --- / --- --- |P|/\R1|P|//\ --- |Q|R0 --- / --- -----> --- / --- R2|P| --- ----->/\/|Z|//|Z|-----> --- /\ --- --- --- --- --- --- /\ --- --- |X||Y||X||Y| --- --- |P||Z| --- --- --- --- |X||Q| --- --- __ --- --- /\/\/\ --- --- L2 --- \ --- L0 --- --- |X||Y|<-----|P|\|P|<-----|Y||Z| --- --- --- \ --- L1 --- --- --- --- /\\|Q|<-----/\|Q| --- \ --- --- \ --- |X|\\|X|\/\ --- --- --- --- --- --- |Y||Z||Y||Z| --- --- --- ---
在离散数学中,树旋转(英语:Tree rotation)是在二叉树中的一种子树调整操作, 每一次旋转并不影响对该二叉树进行中序遍历的结果. 树旋转通常应用于需要调整树的局部平衡性的场合。
这种喷头的头部可以自由转动,并且有一定的摩擦系数。当喷出高压水柱的时候,挡片会被突然冲开,到达一定角度的时候,会由于弹簧的弹力而迅速回弹,并击打喷头头部的突出部位一次,喷头就会转动一个很小的角度;挡片...
可以旋转屏幕的
两棵二叉树之间的旋转距离指的是, 其中一棵树通过尽可能少的树旋转变换到另一棵树, 此过程中所使用的旋转次数. 对于一个包含相同个数节点的二叉树集合, 它们两两之间的距离可以构成一个度量空间. 是否存在一个算法, 能在多项式时间内计算两个二叉树之间的旋转距离, 目前还是一个未决问题。
为提高双通道多极旋转变压器测角系统的精度,提出了基于查表原理的粗、精通道测角数据融合方法。该方法降低了数据融合技术对粗通道旋转变压器原始测角精度的要求,并针对融合后测角误差曲线建立了基于三角函数拟合的误差补偿函数,在FPGA中实现了数据融合和误差补偿的快速计算,且搭建了双通道多极旋转变压器标定实验平台。
利用红外遥控技术,设计了一种用于旋转门的红外遥控系统。主要介绍了控制信号的发送方和接收方的软、硬件的设计与实现。通过实际应用表明,它是一种结构简单、成本低廉和性能可靠的红外控制系统。
红黑树树的旋转
当我们在对红黑树进行插入和删除等操作时,对树做了修改,那么可能会违背红黑树的性 质。
为了保持红黑树的性质,我们可以通过对树进行旋转,即修改树种某些结点的颜色及指针结构,以达到对红黑树进行插入、删除结点等操作时,红黑树依然能保持它特有的性质(五点性质)。
如右图。
大椰树下生长着无数丰硕椰果,其艳丽的色泽、逼真的造型使小朋友充分享受到神秘的南国风情。小朋友通过上下肢协调配合,攀爬、乘坐其上,在旋转中体验新的平衡经验,促进感觉统合能力的提高 。
SBT的旋转(Rotations)与其他许多高级BST相同。它是下面提到的Maintain操作的基础。
Left-Rotate (t)
1 k ← right[t]
2 right[t] ← left[k]
3 left[k] ← t
4 s[k] ← s[t]
5 s[t] ← s[left[t]] + s[right[t]] + 1
6 t ← k
Right-Rotate(t)
1 k ← left[t]
2 left[t] ← right[k]
3 right[k] ← t
4 s[k] ← s[t]
5 s[t] ← s[left[t]] + s[right[t]] + 1
6 t ← k