AVL树
来源:互联网 发布:冯满天知乎 编辑:程序博客网 时间:2024/05/21 17:32
AVL树诞生的原因
如果数据是有序的或者接近有序的,搜索二叉树就会产生单支的情况,单支就相当于在顺序表中搜索元素,降低了效率。因此1962年俄罗斯两位数学家发明了AVL树。
AVL树
在二叉搜索树中插入新的结点后,保证每个结点的左右子树的高度之差的绝对值不超过1,就可以降低树的高的,减少平均搜索长度。
性质:
- 左右子树都是AVL树
- 左右子树的高的之差为-1或0或1(平衡因子)
AVL树的插入
- 空树(直接插入)
- 寻找插入位置
- 插入新结点
- 更新平衡因子(旋转调节)
旋转分析
- 较高右子树的右侧—>(左单旋)
- 较高左子树的左侧—>(右单旋)
- 较高右子树的左侧—>(先右后左)
较高左子树的右侧—>(先左后右)
阅读全文
0 1
- AVL树
- AVL树
- AVL树
- avl树
- AVL树
- avl树
- AVL树
- AVL树
- AVL树
- AVL树
- avl树
- avl树
- AVL树
- AVL树
- AVL树
- AVL树
- AVL 树
- AVL树
- NPOI相关资料
- C语言中实现可变参数函数
- 【Android7.1.2源码解析系列】android源码阅读小tips
- 文件属性
- Java线程的join方法测试
- AVL树
- jqueryMobile 学习
- get请求
- SIFT特征提取分析
- MFC 资源视图 对话框中控件 无法添加变量 或者双击左键之后没法跳转到对应函数
- 【简记】大规模Web开发技术(第五章)
- 6 个技巧,提升 C++11 的 vector 性能
- C++ friend function and friend class
- 深入分析Java中的length和length()