常用数据结构AVL
文章平均质量分 82
Happywuw
学习如逆水行舟,不近则退!
由于目前公司有很不错的学习平台,以及个人笔记平台,暂停博客更新。但也会定期把笔记批量更新到博客。
展开
-
红黑树、B(+)树、跳表、AVL等数据结构,应用场景及分析
在网上学习了一些材料。这一篇:https://www.zhihu.com/question/30527705AVL树:最早的平衡二叉树之一。应用相对其他数据结构比较少。windows对进程地址空间的管理用到了AVL树红黑树:平衡二叉树,广泛用在C++的STL中。map和set都是用红黑树实现的。我们熟悉的STL的map容器底层是RBtree,当然指的不是unordered_转载 2018-04-20 16:01:33 · 675 阅读 · 0 评论 -
1.常用数据结构-红黑树
R-B Tree简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。要想了解红黑树,不防先自己建一个红黑树:https://www.cs.usfca.edu/~galles/visualization/RedBlack.html红黑树的特性:(1)每个节点或者是...原创 2018-04-20 16:27:19 · 289 阅读 · 0 评论 -
2.常用数据结构-AVL树
AVL树是带有平衡条件的查找二叉树。这个平衡条件要容易保持,而且他要保证树的深度为O(logN)原文地址:http://blog.csdn.net/qq_25806863/article/details/74755131平衡条件一个最理想的平衡条件是左右两个子树的高度完全相等,但只有节点数量为2^n-1的树才满足这个条件(n是层数,2层要3个,3层要7个)。这个条件太严格,不好用。如果只要求根节点...原创 2018-04-20 17:02:32 · 224 阅读 · 0 评论 -
3.常用数据结构-跳表
一、什么是跳表 跳表全称叫做跳跃表,简称跳表。跳表是一个随机化的数据结构,可以被看做二叉树的一个变种,它在性能上和红黑树,AVL树不相上下,但是跳表的原理非常简单,目前在Redis和LeveIDB中都有用到。 在对有序顺序表进行搜索时,使用二分查找时间复杂度是O(logn),但是有序顺序表的插入和删除却是O(n)的算法。 在对有序链表进行搜索时,时间复杂度是O(n),但是对链表的插入算法却是O(1...原创 2018-04-20 17:09:19 · 541 阅读 · 0 评论 -
4.常用数据结构-B树,B+树
B树(B-tree)注意:之前有看到有很多文章把B树和B-tree理解成了两种不同类别的树,其实这两个是同一种树;1、概念:B树和平衡二叉树稍有不同的是B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用者B树和B+树的数据结构,让我们来看看他有什么特点;2、规则:(1)树种的每个节点最多拥有m个子节点且m>=2,空树除外(注:m阶代表一个树节点最多有多少个查找路径...原创 2018-04-20 17:16:21 · 432 阅读 · 0 评论