我想生成0到3之间的随机数,我的代码中有以下内容:
int random = rand() % 4;
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我希望它在大多数时间生成1,2和3,偶尔生成0.
最好的方法是什么?解决此问题的常用算法有哪些名称?
我正在研究k-means ++初始化算法.算法的以下两个步骤会产生不一致的概率:
对于每个数据点x,计算D(x),x与已经选择的最近中心之间的距离.
使用加权概率分布随机选择一个新数据点作为新中心,其中选择点x的概率与D(x)^ 2成比例.
如何在C++中用这个陈述的加权概率分布进行选择?