AVL树的删除原理

来源:百度知道 编辑:UC知道 时间:2024/05/10 21:40:50
最近在编写一个AVL树,生成AVL树的算法已经完成了,但接下来的删除就出现问题了,暂时没有思路,请各位提点一下小弟。
问题有这几个:
1。如何定位到要删除的元素
2。怎样删除
3。删除后如何重新调整平衡因子
谢谢
我一用的是C,对C++一点都看不懂,烦请各位为小弟释疑

avl树删除实在太麻烦了。。。所以一般都采用懒惰删除,就是给他标一个记号说他是活的还是死的。正常的删除方法实在太麻烦,某一位大牛些了15KB的删除代码。。。

在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个儿子子树的高度最大差别为一,所以...删除从AVL树中删除可以通过把要删除的节点向下旋转成一个叶子节点,接着直接剪除这个叶子节点来完成。

关键是single rotation 和double rotation

用递归最简单