【发布时间】:2013-11-12 03:44:41
【问题描述】:
我正在考虑列出游戏的最高得分。超过 300,000 名玩家将按最高分排名。玩家可以通过输入他们的名字和新的最高分来更新他们的高分。一次只显示 10 个分数,用户可以输入他们想要从哪个位置开始。因此,如果他们输入“100100”,那么整个列表应该刷新,并显示第 100,100 分到第 100,109 分。那么在这种情况下我应该使用什么数据结构呢?我正在考虑使用 hashTable 和用户名作为键,更新他们的分数需要恒定的时间。但是如果一个用户之前的分数是第 100,100 位,并且在他更新他的分数之后,他的分数成为了整个列表中的最高分呢?然后,如果使用哈希表,则需要 线性时间,因为我需要比较列表中的每个分数以确保是最高的。那么,除了hashTable,还有没有更好的数据结构可供选择?
【问题讨论】:
标签: data-structures