通过执行适当的旋转操作,不平衡的树变得平衡。重新平衡树部分说明了如何在节点上执行旋转。下面的代码给出了ll旋转的算法,如下图所示。
1balanceLL(TreeNode A, TreeNode ParentOfA) {
2 设 B 为 A 的左孩子。
3
4 if (A 是根)
5 设 B 为新根
其他6个{
7 if (A 是parentOfA 的左孩子)
8 设 B 为 ParentOfA 的左孩子;
还有9个
10 设B是parentOfA的右孩子;
11}
12
13 将 B.right 赋值给 A.left,使 T2 成为 A 的左子树;
14 通过将 A 分配给 B.right,使 A 成为 B 的右孩子;
15 更新节点A和节点B的高度;
16 } // 方法结束
注意,节点A和B的高度可以改变,但树中其他节点的高度不会改变。您可以以类似的方式实现 RR、LR 和 RL 旋转。
以上就是实施轮换的详细内容,更多请关注php中文网其它相关文章! 

Vegazone Casino16 天前
发表在:thinkphp怎么做小程序接口Just wrapped up a de...
Vegazone Casino17 天前
发表在:thinkphp怎么做小程序接口Just had a ripper ar...
AndrewRep18 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Інколи хочеться віді...
Barrypaymn18 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Читання стало для ме...
AndrewRep18 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!У сучасному світі ін...
Barrypaymn18 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Книжкові блоги стали...
Kevinvorma28 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Під час вибору проду...
Kevinvorma28 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Ринок пропонує широк...
Jamesfourl1 个月前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Багато людей не посп...
LincolnWap1 个月前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Сучасні жінки прагну...