雏鹰训练营第三次做业

1、热身

一、安装VMware

https://pan.baidu.com/s/1G_vOoWCn-8wG4SAgRkeAlw#list/path=%2F
提取码:hyn2
html

二、安装ubuntu系统

我安装的是16.04.5

安装成功
算法

三、写helloworld程序

首先在ubuntu终端编程的须要vim编辑器和gcc
安装vim编辑器
终端输入
sudo apt-get install vim编程


这里检测到gcc已经安装就无需再次安装了

安装gcc:
sudo apt-get install gccubuntu

以上准备完以后,开始写程序,这里我用c语言。
先打开编辑器(输入vim helloworld.c)vim


按下i键进入insert模式,开始编辑。
代码以下:

最后按esc键退出,并按:wq保存代码。
数组

2、新技术

一、了解sketch

  • 定义:Sketch是一种紧凑的用于流量数据统计亚线性数据结构,其使用哈希将数据映射到Sketch。
  • 优势:能进行大流和异常流的检测 不占用过多的计算和空间资源
    (由于采用抽样技术选取部分报文来推断网络流量整体的性能参数)
  • 缺点:数据的不完整性对测量结果的准确性形成了很大影响网络

    二、count-min-sketch

  • 算法:

    建立一个长度为 x 的数组,用来计数,初始化每一个元素的计数值为 0;
    对于一个新来的元素,哈希到 0 到 x 之间的一个数,好比哈希值为 i,做为数组的位置索引;
    这是,数组对应的位置索引 i 的计数值加 1;
    那么,这时要查询某个元素出现的频率,只要简单的返回这个元素哈但愿后对应的数组的位置索引的计数
  • 注意事项:

    对于低频的元素,估算值相对的错误可能会很大。
    数据结构

三、在虚拟机跑通count-min-sketch

在虚拟机中跑通cms前,需先将测试文件导入虚拟机里,这里就涉及到共享文件,安装vmtools等。
方法参考:http://www.javashuo.com/article/p-xfguczia-dy.html
个人安装过程**

共享成功
编辑器

最后,这是我在GitHub上找到cms.c的代码

最后没跑出来,error是找不到countminsketch这个函数
缘由:没有安装countminsketch。
终极缘由:我还没找到安装cms的方法。
函数