• 大小: 3.41MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-19
  • 语言: 其他
  • 标签: zipf  

资源简介

随机数生成程序,该随机数呈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\link.command.1.tlog

     文件       2454  2012-02-13 23:01  zipf随机数生成\zipf\zipf\Debug\link.read.1.tlog

     文件        438  2012-02-13 23:01  zipf随机数生成\zipf\zipf\Debug\link.write.1.tlog

     文件      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个文件信息

评论

共有 条评论