update readme
This commit is contained in:
+6
-6
@@ -1,16 +1,16 @@
|
||||
|
||||
|
||||
## Bitmap
|
||||
# Bitmap
|
||||
|
||||
也就是用1个(或几个)bit位来标记某个元素对应的value(如果是1bitmap,就只能是元素是否存在;如果是x-bitmap,还可以是元素出现的次数等信息)。使用bit位来存储信息,在需要的存储空间方面可以大大节省。应用场景有:
|
||||
|
||||
|
||||
1. 排序(如果是1-bitmap,就只能对无重复的数排序)
|
||||
2. 判断某个元素是否存在
|
||||
1. 判断某个元素是否存在
|
||||
2. 排序(如果是1-bitmap,就只能对无重复的数排序)
|
||||
|
||||
|
||||
比如,某文件中有若干8位数字的电话号码,要求统计一共有多少个不同的电话号码?
|
||||
|
||||
分析:8位最多99 999 999, 如果1Byte表示1个号码是否存在,需要95MB空间,但是如果1bit表示1个号码是否存在,则只需要 95/8=12MB 的空间。这时,数字k(0~99 999 999)与bit位的对应关系是:
|
||||
分析:8位最多99 999 999, 如果1Byte表示1个号码是否存在,需要95MB空间,但是如果1bit表示1个号码是否存在,则只需要 95/8=12MB 的空间。这时,数字 `k(0~99 999 999)`与bit位的对应关系是:
|
||||
|
||||
|
||||
```
|
||||
#define SIZE 15*1024*1024
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
|
||||
# Bloom filter(布隆过滤器)
|
||||
|
||||
Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在海量数据处理中,一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合(容忍错误的场景)。
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
## 倒排索引(Inverted Index)
|
||||
# 倒排索引(Inverted Index)
|
||||
|
||||
|
||||
常规的索引是文档到关键词的映射,就是每个文档指向一个它所包含的索引项的序列,也就是文档文档指向了它包含的索引项序列,也就是文档指向它包含的哪些单词。
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
## 数据库索引
|
||||
# 数据库索引
|
||||
|
||||
索引使用的数据结构多是B树或B+树。B树和B+树广泛应用于文件存储系统和数据库系统中,mysql使用的是B+树,oracle使用的是B树,Mysql也支持多种索引类型,如b-tree 索引,哈希索引,全文索引等。
|
||||
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
针对空间,就一个办法,大而化小,分而治之。常采用hash映射
|
||||
|
||||
|
||||
* Hash映射/分而治之
|
||||
* Bitmap
|
||||
* Bloom filter(布隆过滤器)
|
||||
* 双层桶划分
|
||||
* Trie树
|
||||
* 数据库索引
|
||||
* [Hash映射,分而治之](Hash映射,分而治之.md)
|
||||
* [Bitmap](Bitmap.md)
|
||||
* [Bloom filter(布隆过滤器)](Bloomfilter.md)
|
||||
* [双层桶划分](双层桶划分.md)
|
||||
* [Trie树](../4%20Tree/4-字典树Trie/README.md)
|
||||
* [数据库索引](Inverted%20Index/数据库索引.md)
|
||||
* 倒排索引(Inverted Index)
|
||||
* 外排序
|
||||
* simhash算法
|
||||
* [外排序](../6%20Sort/外排序.md)
|
||||
* [simhash算法](simhash算法.md)
|
||||
* 分布处理之Mapreduce
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
|
||||
|
||||
## 双层桶划分
|
||||
# 双层桶划分
|
||||
|
||||
双层桶不是一种数据结构,只是一种算法思维。分而治之思想。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user