数据结构
文章平均质量分 88
go lang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Radix压缩字典树的原理以及Go语言实现代码
Radix树Radix树,即基数树,也称压缩字典树,是一种提供key-value存储查找的数据结构。radix tree常用于快速查找的场景中,例如:redis中存储slot对应的key信息、内核中使用radix tree管理数据结构、大多数http的router通过radix管理路由。Radix树在Trie Tree(字典树)的原理上优化过来的。因此在介绍Radix树的特点之首先简单介绍一下Trie Tree。Trie树Trie Tree,即字典树。Trie Tree的原理是将每个key拆分成一个个原创 2022-05-17 09:51:29 · 1704 阅读 · 0 评论 -
布隆过滤器(Bloom Filter)原理以及Go语言实现
布隆过滤器介绍判断目标值是否在一个集合中是比较常见的业务场景。在Go语言中通常使用map来实现给功能。但是当集合比较大时,使用map会消耗大量的内存。 这种情况下可使用BitMap来代替map。BitMap虽然能够在一定情况下减少的内存的消耗,但是BitMap也存在以下局限性:当样本分布极度不均匀的时候,BitMap会造成很大空间上的浪费。若数据的类型Int64,并且数据分布的跨度比较大,则也无法满足对内存的要求。当元素不是整型的时候,BitMap就不适用了。BitMap只能保存整形数据,对于字原创 2022-05-09 07:24:36 · 1320 阅读 · 0 评论 -
BitMap原理以及Go语言实现
1. BitMap介绍BitMap可以理解为通过一个bit数组来存储特定数据的一种数据结构。BitMap常用于对大量整形数据做去重和查询。在这类查找中,我们可以通过map数据结构进行查找。但如果数据量比较大map数据结构将会大量占用内存。BitMap用一个比特位来映射某个元素的状态,所以这种数据结构是非常节省存储空间的。BitMap用途BitMap用于数据去重BitMap可用于数据的快速查找,判重。BitMap用于快速排序BitMap由于其本身的有序性和唯一性,可以实现快速排序:将其加入b原创 2022-05-07 16:15:44 · 1155 阅读 · 0 评论
分享