6
我想实现一个排行榜,我意识到即使这看起来是一个简单的任务,但这可能变得非常复杂。我可以简单地使用具有适当索引的数据库,但我想知道是否有一个有效的数据结构可以支持以下操作。排行榜的高效数据结构
- 加分值为指定播放器
- 找回最好成绩为指定播放器
- 检索排名为指定播放器
- 检索上面和下面当前玩家等级
- 支持得分球员不同的时间段:今天的得分,本周,今年等
- 可扩展至〜100,000个玩家
- 内存占用尽可能小e(即在便宜的机器上运行)
感谢您的帮助!
你有最大数量的分数/球员吗?如果不是的话,如果你有100K的玩家,你可以得到很多分数......整个事情是否需要一次存储在内存中,或者它可以主要在磁盘上(闪存,不管)?成绩如何(0-255?0-65525?字符串?)。当你说“便宜的机器”时,你的意思是一台旧电脑,而不是电话或Arduino。 – angelatlarge 2013-03-11 16:07:58