我无法解决,我需要一些建议。 例如: 斯诺克球员每个月都会参加比赛,他们希望保持战绩,谁赢了,谁输了。 他们已经打过5次了:下面的结果也是谁打过球,谁赢了。
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 谢谢
答案 0 :(得分:0)
我的建议是从更广泛的角度思考所有实体都参与其中。
从我的头脑中,这些是以下对象(模型)定义:
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
对象的散列映射,<player_id, Player Object>
作为精确的散列映射定义。
现在对于每个game
,通过查找播放器的id
找到所涉及的玩家,在你的情况下是玩家的名字。
一旦同时提取了players
,就将它们的games_played
递增1.现在,如果玩家A
赢了游戏,则递增A
的{{1}按1计算,玩家won
的{{1}}计数为1.
对所有游戏重复相同的操作。
现在,您可以公开服务中的B
哈希映射,以便每个玩家获得您想要的查询。这样,您始终可以有效地找到每个玩家的lost
,Player
和games_played
计数。如果可以,您可以直接打印哈希映射,以查看每个won
。