您的位置:首页 > 其它

关于要随机使用某些数据,有要均匀使用的算法

2010-03-26 16:18 218 查看
现在正在做发帖机里的代理部分,基本的要求就是返回一个代理,但是这个代理要是随机的,另外这个每个代理出现的次数要均匀,也就是说不能出现一个代理使用了100次,但是另一个代理才使用了1次,这种情况。刚开始想到的算法是优先级随机算法:分为N等级,先使用N等级的账号,每个账号使用后其等级必须减一,当N等级的账号都用完了,就是用N-1等级的账号。当一个账号的等级变为最底层时,使用完后将其等级重新提升为N等级,然后如此循环。。。刚开始感觉很不错,想到的等级数是7,后来编写代码时,感觉7没必要,5也行。。。后来就类比了,只有两个等级也行的。。。

后来又想到没必要弄等级的,只要在每个账号上加一个是否使用过的属性,就能达到同样的效果。

最后来感觉到在那里看过类似的算法,是在操作系统里的算法。使用一个循环列表就能达到我的要求了。使用完一个账号,直接放到列表最后面,然后慢慢循环就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐