- 博客(1)
- 收藏
- 关注
原创 Java实现AVL树(自平衡二叉搜索树)
需要注意的是,当待删除的结点有左右子树时,用数据转移来代替指针动作,具体过程为:先删除待删除结点的左子树的最右结点,再将待删除结点的数据更新为其左子树的最右结点的key,即达到了删除结点的效果,而此过程中没有移动指针(除了平衡调整)。注意,以上步骤只是逻辑顺序,在实际编写代码时,应先删除结点33并调整平衡,再将已被删除的结点33的数据转移给结点34,如果先转移数据,会造成死循环。需要注意的是,在旋转完成后,必须先更新结点1的高度,再更新结点3的高度,因为结点3的高度来自于结点1和结点4的高度。
2021-10-12 15:07:59
1158
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人