问题: 能否进一步提高,比如总体O(n+h)、单版本O(1)? 答案是可以!! 相邻的版本之间的差异不能超过O(1),显然AVL树的删除操作不能满足这一点,因为当每次删除一个节点后,有可能自底而上,逐层引发多大logN次的旋转。 所以要用到红黑树: 红黑树所具有的规则: 对红色节点做一次提升变换: ...
分类:
其他好文 时间:
2019-10-02 16:33:22
阅读次数:
98
上一节 已经说了 AVL树的插入 操作,可是 只有 插入,没有删除,怎么能叫 动态 查找表呢。
呵呵,博主 赶紧 去 研究了一番。下面 是成果:
AVL树的删除 大致 分为 两大块: 1. 查找节点 并 删除 2. 保持 删除 后 平衡因子的 影响
1. 首先 找到 这个 节点,如果 节点 不存在,直接 退出 函数
if (*tree == NULL){//没找到
...
分类:
其他好文 时间:
2015-04-22 14:01:33
阅读次数:
176
2014-06-1215:00:14主要内容为:AVL树的插入操作;AVL树的删除操作;AVL树的插入操作主要参考>Java语言描述(Mark
Allen
Weiss)这个博客写的也挺好,可以看下http://dongxicheng.org/structure/avl/AVL树的删除操作看了http...
分类:
编程语言 时间:
2014-06-16 06:11:25
阅读次数:
352