
算法&数据结构
文章平均质量分 86
懒猫gg
我很懒!
展开
-
布隆过滤器
布隆过滤器(Bloom Filter)是非常经典的,以空间换时间的算法。。它实际上是一个很长的二进制向量和一系列随机映射函数。原创 2025-01-26 11:04:48 · 1484 阅读 · 0 评论 -
AC自动机算法
ac自动机,双数组原创 2021-08-15 20:31:15 · 1358 阅读 · 0 评论 -
字符串模式匹配算法KMP
字符串模式匹配算法BF,BM,KMP原创 2021-08-11 23:52:07 · 258 阅读 · 0 评论 -
分布式自增ID算法snowflake
自增ID算法snowflake及时间回拔的解决原创 2021-07-26 10:57:08 · 455 阅读 · 0 评论 -
字典树(trie)
Trie,又经常叫前缀树,字典树。原创 2016-08-31 10:44:53 · 585 阅读 · 0 评论 -
散列树(hash树)
hash表的理想情况是通过哈希函数使每个关键字和一个唯一的存储位置相对应。但再牛逼的哈希函数只能尽可能地减少,而不能完全避免冲突.转载 2019-01-23 09:43:17 · 1277 阅读 · 0 评论 -
平衡二叉树AVL
我们有了二叉排序树为什么我们还需要平衡二叉排序树?大家都知道树的结构其实也算是链表的一种变形,所以在最坏情况下树有可能变成线性的链表,那么此时遍历的效率(平均查找长度)很比较差(长),也失去了树的结构定义的初衷。 所以平衡二叉排序树就是为了维护“树”的基本形态。 1.平衡二叉排序树平衡因子存储在节点当中,其含义就是当前节点的左子树深度与右子树深度之差。 如果一棵树所有节点的平很...原创 2019-01-16 13:15:00 · 198 阅读 · 0 评论 -
双数组字典树DoubleArrayTrie
双数组Tire树原创 2019-01-26 10:22:24 · 1642 阅读 · 1 评论 -
B,B+树
B+树被用作数据索引,帮助数据库高效获取数据的一种数据结构。多路查找树 又称m-way查找树是是一种树形的存储结构,主要特点如下,每个节点存储的key数量小于m个 每个节点的度小于等于m 节点key按顺序排序 子树key值要完全小于、大于或介于父节点之间 以下是3路查找树的结构图和二叉搜索树的功能相似Btree查找树 Btree可以看作是一种平衡的多路...原创 2019-01-20 14:38:30 · 265 阅读 · 0 评论 -
跳跃表skipList
Skip list是一个“概率型”的数据结构,可以在很多应用场景中替代平衡树。Skip list算法与平衡树相比,有相似的渐进期望时间边界,但是它更简单,更快,使用更少的空间。Skip list是一个分层结构多级链表,最下层是原始的链表,每个层级都是下一个层级的“高速跑道”。1.演示 下图简单演示过程。1.1搜索例子:查找元素 1171.2插入例...原创 2019-01-20 13:54:08 · 294 阅读 · 0 评论 -
常见的10种排序算法
介绍常用的10种排序算法原创 2021-11-19 11:40:14 · 31602 阅读 · 5 评论 -
散列hash表
hash表的基础概念,插入,删除,查找,扩容原创 2019-01-19 10:33:13 · 210 阅读 · 0 评论 -
红黑树
RB树(红黑树)并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。原创 2019-01-17 15:53:00 · 201 阅读 · 0 评论 -
二叉排序树(BST)
二叉排序树,又叫二叉查找树,它或者是一棵空树;或者是具有以下性质的二叉树:1. 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;2. 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;3. 它的左右子树也分别为二叉排序树。 1.1 排序二叉树之插入操作 已知一个关键字值为key的结点s,若将其插入到二叉排序树中,只要保证插入后仍符合二叉排序...原创 2019-01-11 12:51:26 · 1479 阅读 · 0 评论