资源简介
随机数生成程序,该随机数呈zipf分布,就是大家常说对于内容的访问遵循80/20原则,也就是20 的内容,会占有80 的访问量
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
const int R = 2000; //数据元素 有R个不同的频率 数值越大对应频率越小逐渐趋于0
const double A = 1.25; //定义参数A>1的浮点数 后来测试小于1的似乎也可以
const double C = 1.0; //这个C是不重要的一般取1 可以看到下面计算中分子分母可以约掉这个C
double pf[R]; //值为0~1之间 是单个f(r)的累加值
void generate()
{
double sum = 0.0;
for (int i = 0; i < R; i++)
{
sum += C/pow((double)(i+2) A); //位置为i的频率一共有r个(即秩) 累加求和
}
for (int i = 0; i < R; i++)
{
if (i == 0)
pf[i] = C/pow((double)(i+2) A)/sum;
else
pf[i] = pf[i-1] + C/pow((double)(i+2) A)/sum;
}
}
void pick(int n)
{
srand(time(00));
//产生n个数
for (int i = 0; i < n; i++)
{
int index = 0;
double data = (double)rand()/RAND_MAX; //生成一个0~1的数
while (data > pf[index]) //找索引直到找到一个比他小的值那么对应的index就是随机数了
index++;
//cout< cout< }
}
int main()
{
generate();
pick(1000);
return 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 36864 2012-02-13 23:01 zipf随机数生成\zipf\Debug\zipf.exe
文件 370268 2012-02-13 23:01 zipf随机数生成\zipf\Debug\zipf.ilk
文件 560128 2012-02-13 23:01 zipf随机数生成\zipf\Debug\zipf.pdb
文件 14483456 2012-02-14 02:18 zipf随机数生成\zipf\ipch\zipf-4fe0b52a\zipf-d9abe485.ipch
文件 500 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\cl.command.1.tlog
文件 9138 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\CL.read.1.tlog
文件 246 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\CL.write.1.tlog
文件 1052 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\li
文件 2454 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\li
文件 438 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\li
文件 47632 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\main.obj
文件 376 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\mt.command.1.tlog
文件 666 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\mt.read.1.tlog
文件 206 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\mt.write.1.tlog
文件 216064 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\vc100.idb
文件 241664 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\vc100.pdb
文件 381 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\zipf.exe.intermediate.manifest
文件 62 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\zipf.lastbuildstate
文件 2037 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug\zipf.log
文件 1199 2012-02-13 23:01 zipf随机数生成\zipf\zipf\main.cpp
文件 3218 2012-02-13 22:53 zipf随机数生成\zipf\zipf\zipf.vcxproj
文件 953 2012-02-13 22:53 zipf随机数生成\zipf\zipf\zipf.vcxproj.filters
文件 143 2012-02-13 22:27 zipf随机数生成\zipf\zipf\zipf.vcxproj.user
文件 6115328 2012-02-14 02:27 zipf随机数生成\zipf\zipf.sdf
文件 879 2012-02-13 22:27 zipf随机数生成\zipf\zipf.sln
..A..H. 10752 2012-02-14 02:27 zipf随机数生成\zipf\zipf.suo
目录 0 2012-02-14 02:18 zipf随机数生成\zipf\ipch\zipf-4fe0b52a
目录 0 2012-02-13 23:01 zipf随机数生成\zipf\zipf\Debug
目录 0 2012-02-13 23:01 zipf随机数生成\zipf\Debug
目录 0 2012-02-14 02:18 zipf随机数生成\zipf\ipch
............此处省略6个文件信息
评论
共有 条评论