資源簡介
隨機數生成程序,該隨機數呈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? {????????
sum?+=?C/pow((double)(i+2)?A);??//位置為i的頻率一共有r個(即秩)?累加求和???
}
for?(int?i?=?0;?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? {
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個文件信息
評論
共有 條評論