6
我想實現一個排行榜,我意識到即使這看起來是一個簡單的任務,但這可能變得非常複雜。我可以簡單地使用具有適當索引的數據庫,但我想知道是否有一個有效的數據結構可以支持以下操作。排行榜的高效數據結構
- 加分值爲指定播放器
- 找回最好成績爲指定播放器
- 檢索排名爲指定播放器
- 檢索上面和下面當前玩家等級
- 支持得分球員不同的時間段:今天的得分,本週,今年等
- 可擴展至〜100,000個玩家
- 內存佔用儘可能小e(即在便宜的機器上運行)
感謝您的幫助!
你有最大數量的分數/球員嗎?如果不是的話,如果你有100K的玩家,你可以得到很多分數......整個事情是否需要一次存儲在內存中,或者它可以主要在磁盤上(閃存,不管)?成績如何(0-255?0-65525?字符串?)。當你說「便宜的機器」時,你的意思是一臺舊電腦,而不是電話或Arduino。 – angelatlarge 2013-03-11 16:07:58