2019雏鹰训练营第三次作业

热身

因为图片较多,新建一个随笔
在VMware15安装Ubuntu 16.04:https://www.cnblogs.com/Lin1031/p/11921177.html

在ubuntu编写helloworld:https://www.cnblogs.com/Lin1031/p/11945613.html

Count-min sketch

一开始看到题目sketch,不是做UI设计用的软件吗,还要MAC OS。
后来再往下看Count-min sketch。

Count-min Sketch 是一个概率数据结构,用作数据流中事件的频率表。
实际的草图数据结构是 w 列和 d 行的二维数组。
参数 w 和 d 在创建草图时是固定的,并确定时间和空间需求以及在查询频率或内部产品草图时的错误概率。
与每个 d 行相关联的是一个单独的散列函数。
2019雏鹰训练营第三次作业_第1张图片

1.添加元素
当一个新的类型 i 事件到达时,我们更新如下:对于表中的每一行 j,应用相应的散列函数来获得列索引 k = hj(i)。然后将第 j 行第 k 列中的值加 1。
2019雏鹰训练营第三次作业_第2张图片

2019雏鹰训练营第三次作业_第3张图片

2019雏鹰训练营第三次作业_第4张图片

2.查询(统计元素个数)
2019雏鹰训练营第三次作业_第5张图片

2019雏鹰训练营第三次作业_第6张图片

草图大小和精度之间的相关性
2019雏鹰训练营第三次作业_第7张图片

参考文献
[1]PROBABILISTIC DATA STRUCTURES FOR WEB ANALYTICS AND DATA MINING:https://highlyscalable.wordpress.com/2012/05/01/probabilistic-structures-web-analytics-data-mining/
[2]Bloom Filter 和 Count-Min Sketch 介绍:https://titanssword.github.io/2018-02-23-Bloom%20Filter%20and%20Count-Min%20Sketch.html

实现新技术

1.GitHub代码:https://github.com/rafacarrascosa/countminsketch

2.2019雏鹰训练营第三次作业_第8张图片

3.2019雏鹰训练营第三次作业_第9张图片

4.这个数小的不对劲。。。。

5.忘记分割字符串了。。。。

6.2019雏鹰训练营第三次作业_第10张图片

7.2019雏鹰训练营第三次作业_第11张图片

8.word替换好像有2w+ the,不知道这个是否正确。

你可能感兴趣的:(2019雏鹰训练营第三次作业)