在离散数学中,树旋转(英语:Tree rotation)是在二叉树中的一种子树调整操作, 每一次旋转并不影响对该二叉树进行中序遍历的结果. 树旋转通常应用于需要调整树的局部平衡性的场合。
树旋转包括两个不同的方式,分别是右旋转(以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| --- --- --- ---
上面的图示仅描述了如何进行局部变换, 在实际应用中, 还需要将原有父节点的父节点纳入考虑范围. 以上述右旋转为例, 如果 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
你好,给你参考如下:1、欧式实木试衣镜子穿衣镜落地镜全身镜挂壁镜大镜子置地价钱约76元。2、BOLEN穿衣镜落地镜子实木带支架欧式镜子全身镜百搭试衣镜壁挂价钱约149元。3、价欧式时尚实木穿衣镜全身镜...
松树 松树(pine)常绿乔木,有少数为灌木。树皮多为鳞片状,叶针形,果球形,叫松籽(pine nut)可以吃。木材和树脂用途很广。松树的品种在全世界有100多种,全是阳性速生树种,除幼苗期间需要些庇...
杨柳科杨属植物落叶乔木的通称。全属有100多种,主要分布在中国(江苏大丰杨树基地),欧洲(东非林场),亚洲,北美洲的温带、寒带以及地中海沿岸国家与中东地区。中国有50多种。木材用作民用建筑材,生产家具...
两棵二叉树之间的旋转距离指的是, 其中一棵树通过尽可能少的树旋转变换到另一棵树, 此过程中所使用的旋转次数. 对于一个包含相同个数节点的二叉树集合, 它们两两之间的距离可以构成一个度量空间. 是否存在一个算法, 能在多项式时间内计算两个二叉树之间的旋转距离, 目前还是一个未决问题。
旋转桶护栏采用 “一柱四栏”方式, 通过加强立柱和护栏的性能及安装方式, 有效地防 止汽车穿越防护栏, 驶出行驶车道。 并开创性地采用一种旋转结构, 把富有弹性且防撞耐磨 的旋转桶支撑在立柱上, 使旋转桶可以在立柱上自由旋转, 通过旋转桶的这种自由旋转分解 汽车撞击力, 使垂直于护栏方向的撞击力分解到平行于护栏的方向上, 被旋转桶有效地吸收 和减小,从而有效地减轻交通事故造成的后果。旋转桶采用 EVA 和聚氨酯的复合材料,这 种高强度 EVA 和聚氨酯材料本身就富有弹性且防撞耐磨, 可以避免旋转桶受冲击时被撞碎, 有效地对防护栏和司乘人员进行保护。 除了良好的防撞耐磨性能之外, 还具有抗化学物质腐 蚀、抗紫外老化、抗候性等优点,不易破损,外观精美不易褪色,在户外自然条件下,使用 寿命至少十年以上。 一旦发生交通事故, 当汽车撞击到它时, 通过旋转方式,把冲撞的能量 转化成旋转的能量,保持汽
用一种高密度聚乙烯分别与两种线形低密聚乙烯进行共混制备了两种旋转模塑聚乙烯专用树脂 ,并使用双轴旋转模塑机生产了两种规格的大型中空制品 ,研究了不同质量配比对共混树脂力学性能的影响 ;通过红外光谱、扫描电镜、X射线衍射分析了旋转模塑制品的热稳定性及不同成型温度和风冷时间下的微观结构 ,制品经垂直冲击跌落、正弦定频垂直振动、耐压力、高低温和空投试验考察了旋转模塑制品的环境适应性。实验结果表明 ,经共混改性得到的两种原料可以作为旋转模塑专用树脂。
红黑树树的旋转
当我们在对红黑树进行插入和删除等操作时,对树做了修改,那么可能会违背红黑树的性 质。
为了保持红黑树的性质,我们可以通过对树进行旋转,即修改树种某些结点的颜色及指针结构,以达到对红黑树进行插入、删除结点等操作时,红黑树依然能保持它特有的性质(五点性质)。
如右图。
大椰树下生长着无数丰硕椰果,其艳丽的色泽、逼真的造型使小朋友充分享受到神秘的南国风情。小朋友通过上下肢协调配合,攀爬、乘坐其上,在旋转中体验新的平衡经验,促进感觉统合能力的提高 。
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