存储记分板的高效数据结构
Efficient Data Structure to store score board
我无法整理,我需要一些建议。
例如:
这群斯诺克球员每个月都会开会比赛,他们想保持谁赢谁输的记录。
他们已经打了五次了:下面是谁打谁赢的结果。
1st: Cobra VS DODO - Winner = Cobra
2nd: John VS DON - Winner = John
3rd: Swimmer VS Funter - Winner = Swimmer
4th: DODO VS Funter - Winner = DODO
5th: John VS Cobra - Winner = Cobra
6th: DON vs Swimmer - Winner = DON
所以我的问题是,哪种数据结构最适合存储来自图形、哈希图、树、链表的这些信息,以及哪种结构更有效。
我需要如下所示的任何图形或视觉表示:
enter image description here
谢谢
我的建议是从更广泛的角度思考,所有实体都涉及到什么。
根据我的想法,这些是以下对象(模型)定义:
1. Game (game_id : id, players : [a, b](array of player id involved), winner :a, loser :b)
2. Players (player_id : id, name: string, games_played : int, lost : int, won: int)
在您的服务中,您可以维护一个 Players
对象的 hashmap,<player_id, Player Object>
是精确的 hashmap 定义。
现在,对于每个 game
,通过查找玩家的 id
,从哈希表中挑选,找到涉及的玩家,在您的例子中是玩家的名字。
一旦 players
都被获取,将它们的 games_played
递增 1。现在如果玩家 A
赢得了比赛,则递增 A
的 won
计数 1,玩家 B
的 lost
计数 1。
对所有游戏重复相同的操作。
现在,您的 Player
来自服务的 hashmap 可以暴露给每个玩家以获得您想要的查询。这样,您始终可以高效地找到每个玩家的 games_played
、won
和 lost
计数。如果可以的话,您可以直接打印哈希图以查看每个 Player
.
我无法整理,我需要一些建议。 例如: 这群斯诺克球员每个月都会开会比赛,他们想保持谁赢谁输的记录。 他们已经打了五次了:下面是谁打谁赢的结果。
1st: Cobra VS DODO - Winner = Cobra
2nd: John VS DON - Winner = John
3rd: Swimmer VS Funter - Winner = Swimmer
4th: DODO VS Funter - Winner = DODO
5th: John VS Cobra - Winner = Cobra
6th: DON vs Swimmer - Winner = DON
所以我的问题是,哪种数据结构最适合存储来自图形、哈希图、树、链表的这些信息,以及哪种结构更有效。
我需要如下所示的任何图形或视觉表示: enter image description here 谢谢
我的建议是从更广泛的角度思考,所有实体都涉及到什么。
根据我的想法,这些是以下对象(模型)定义:
1. Game (game_id : id, players : [a, b](array of player id involved), winner :a, loser :b)
2. Players (player_id : id, name: string, games_played : int, lost : int, won: int)
在您的服务中,您可以维护一个 Players
对象的 hashmap,<player_id, Player Object>
是精确的 hashmap 定义。
现在,对于每个 game
,通过查找玩家的 id
,从哈希表中挑选,找到涉及的玩家,在您的例子中是玩家的名字。
一旦 players
都被获取,将它们的 games_played
递增 1。现在如果玩家 A
赢得了比赛,则递增 A
的 won
计数 1,玩家 B
的 lost
计数 1。
对所有游戏重复相同的操作。
现在,您的 Player
来自服务的 hashmap 可以暴露给每个玩家以获得您想要的查询。这样,您始终可以高效地找到每个玩家的 games_played
、won
和 lost
计数。如果可以的话,您可以直接打印哈希图以查看每个 Player
.