- 博客(9)
- 资源 (3)
- 收藏
- 关注
转载 散列树(hash树)
hash表的理想情况是通过哈希函数使每个关键字和一个唯一的存储位置相对应。但再牛逼的哈希函数只能尽可能地减少,而不能完全避免冲突.
2019-01-23 09:43:17 1230
原创 B,B+树
B+树被用作数据索引,帮助数据库高效获取数据的一种数据结构。 多路查找树 又称m-way查找树是是一种树形的存储结构,主要特点如下, 每个节点存储的key数量小于m个 每个节点的度小于等于m 节点key按顺序排序 子树key值要完全小于、大于或介于父节点之间 以下是3路查找树的结构图 和二叉搜索树的功能相似 Btree查找树 Btree可以看作是一种平衡的多路...
2019-01-20 14:38:30 227
原创 跳跃表skipList
Skip list是一个“概率型”的数据结构,可以在很多应用场景中替代平衡树。Skip list算法与平衡树相比,有相似的渐进期望时间边界,但是它更简单,更快,使用更少的空间。 Skip list是一个分层结构多级链表,最下层是原始的链表,每个层级都是下一个层级的“高速跑道”。 1.演示 下图简单演示过程。 1.1搜索 例子:查找元素 117 1.2插入 例...
2019-01-20 13:54:08 262
原创 平衡二叉树AVL
我们有了二叉排序树为什么我们还需要平衡二叉排序树? 大家都知道树的结构其实也算是链表的一种变形,所以在最坏情况下树有可能变成线性的链表,那么此时遍历的效率(平均查找长度)很比较差(长),也失去了树的结构定义的初衷。 所以平衡二叉排序树就是为了维护“树”的基本形态。 1.平衡二叉排序树 平衡因子存储在节点当中,其含义就是当前节点的左子树深度与右子树深度之差。 如果一棵树所有节点的平很...
2019-01-16 13:15:00 166
原创 二叉排序树(BST)
二叉排序树,又叫二叉查找树,它或者是一棵空树;或者是具有以下性质的二叉树: 1. 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2. 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 3. 它的左右子树也分别为二叉排序树。 1.1 排序二叉树之插入操作 已知一个关键字值为key的结点s,若将其插入到二叉排序树中,只要保证插入后仍符合二叉排序...
2019-01-11 12:51:26 1421
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人