问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何对游戏服务器,全服玩家进行排名?

发布网友 发布时间:2024-03-06 17:12

我来回答

3个回答

热心网友 时间:2024-03-15 04:18

居然有很多兄弟又是组件又是论文算法。一看就不是做游戏服务器的或者实用系统的。你们以为是多大一个事情呀?
全服排名?请问你的服是多少人?
1000人?随便你怎么排。冒泡算法都可以。
1000万人?只要你的数据不是太大,更新频道不是特别高,每次更新,或者定时更新的时候排序就可以了。红黑树大致也只用找20次。内存?64位的系统还要考虑内存。就算每个用户256字节。你算算才要多少数据?256*1000W=256*10M=2.5G。
但如果从架构上考虑,需要一台排序服务器来做这个事情。其实这也就是楼主的方法2而已。
1亿用户?其实前面已经证明了。上面的方法是可以搞的。内存25G就可以了。一台机器也就可以了。

10亿?全服能超过1亿用户的游戏,中国目前数估计不超过10个。CF,DNF,LOL这类还是分区游戏,不用考虑。主要是QQGAme的斗地主,天天飞车,天天酷跑,天天爱消除这类手游产品。当年如果你成了这种产品,成本看上去不再是问题了。
增加10台机器好像也不是太大问题,只是架构上。。。。。好像更麻烦了。
那么?
第一,你要那么及时吗?不要,直接上DB,一天导出一次就OK了。
第二,你要那么准确吗?忽悠用户是否可以?直接做一个很细致的分段出来就OK了。
还是一台服务器就搞掂了。

100亿?你不是在做游戏把。。

最后的最后,请问一下你的策划同学,当一个用户看到自己是第2000W名的时候,他对这个排名的感想?
什么年代了,还在用全区排序这种落后的设计。告诉你们的策划,我很BS他们。 

热心网友 时间:2024-03-15 04:18

实际上游戏上的排行榜,比如战力,金币等,大家只关注最前面的N名,没有必要进行全服排序。没到这个范围的,可以提示比如”百名开外”这样的用词。

做了这个设计上的简化之后,这就是一个堆排序的top N的问题了。

至于其他人提到的可以做全局排序的方案,你权且看看当开阔眼界吧。做产品的时候,还是先找平衡的方式实现需求,而不是为了炫技。 

离线排序,就是给你一个数组,你把它排好序,然后万事大吉。

这种排序直接std::sort,因此下面不谈。

在线排序,要求你维护一个有序序列。在任意时刻可以进行插入、删除、修改、查询排名操作。

提供两种思路。

一、平衡树

平衡树中,查询一个节点的排名是 的复杂度(对每个节点记下子树大小)

题目描述中的有序链表思路,我怀疑题主根本没有实现过。因为普通链表是不能二分的,需要使用“跳表”——平衡树的一种。

使用平衡树,上述四种操作均可以 完成。常数较大。

热心网友 时间:2024-03-15 04:18

如果一个人的分数为c。

插入:w[c]加1, .

删除:w[c]减1, .

修改分数为d:w[c]减1,w[d]加1, .

查询排名:输出w[c+1,MAX]的区间和, .

由于树状数组常数小,因此比平衡树稍快。

这个做法的特点是:无论有多少个人,我们都需要开MAX的空间,而且上面的(值域大小).

在人数很少或者值域很大的时候,这个算法是不优秀的——前者浪费时间,后者浪费空间。

但如果值域小(例如,所有人的分数都在100000以内),权值树状数组的优势会立刻体现出来:

即使有二十亿个人,上面的n仍然控制在10w,时间优势很大(平衡树的这个n会变成20亿);空间仍然只占用10w个int,不会由于人多而爆空间。

缺点是,值域不允许小数。(可以乘上10、100……来解决,然而这样值域也会暴涨)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
青海摇什么时候火的 宋庄镇都有哪些村 唐山多地解除封控管理、静态管理,市民仍需做好哪些防护? 拼多多上面的旗舰店是正品吗 ...尺是20:1的图纸上,应画多少厘米,在比例尺是1:200的图纸上测_百度知... 4x2=8,4x20=8,4x200=800,我发现了:一个因数不变,另外一个因数乘以几,积... 小学三年级数学上册4X2=8,4X20=80,4X200=800我发现:一个因数不变,另... 描写雪的段落优选好句60句 程序员最低学历是多少 电脑不识别独显了怎么办? 网站的排名与什么有关系? 梦幻西游人物在服务器排名是按什么计算的 分母是0的分数等于0.__ 泡沫混凝土开孔率高解决办法 券商佣金权证万六是真的吗? 股票佣金万六 万八是优惠还是欺诈? 请问,有券商说提供万分之六的佣金,是不是骗子? 简述呼吸运动的形式 中元节吹口哨了怎么办 微信标签怎么删掉 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 一年内怎么改第二次 修改一年内如何二次修改吗苹果 不到一年怎么改第二次 在快手平台被骗,输了一次手机号,,验证码会有什么问题 不满一年如何更改? 苹果修改第二次 一年没满 想更改怎么更改? 苹果手机怎样第二次更改? 如何一年内强制二次修改? 手机号1 24 手机号24小时内绑定了两个被限制 请问什么时候才能重 ... ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 苹果手机怎么改第二次修改技巧 修改一年内如何二次修改吗苹果 苹果手机怎么修改第二次 苹果手机怎样第二次更改 狗狗乳腺增生有什么特征? ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 苹果7plus如何修改 ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 修仙式人生开局怎么选 苹果手机怎么改第二次修改技巧 怎么改第二次苹果手机 苹果手机怎么修改第二次 苹果手机第二次怎么改? 苹果手机怎样第二次更改? 苹果手机怎样第二次更改 苹果手机怎么改第二次修改技巧 怎么改第二次苹果手机 苹果手机第二次怎么改?