在锦标赛比赛列表中找到获胜者

时间:2013-03-16 17:45:08

标签: algorithm

我检查了stackoverflow上的重复问题。这可能很接近:find number of tennis matches required

这是亚马逊的采访问题。我想知道关键路径上的Θ(log p)操作是否正确答案(与锦标赛障碍算法相同 - > John Mellor-Crummey),对于'p'玩家。

比如说,我们有4名球员1,2,3,4。我们可以安排比赛:

 1)  Between (1 & 2)

 2)  Between (3 & 4) 

 3) organize the third match between winners of these two matches. 

同样,对于5个(奇数个)玩家,我们可以安排以下之间的匹配:

 1) (1 & 2) and (3 & 4) 

 2) Winner from (1&2) OR winner from (3&4) against 5

 3) Winner between winner of not chosen group and winner from previous match

1 个答案:

答案 0 :(得分:4)

每场比赛都只消除一名球员。要将 p 玩家减少为 1 玩家需要 p-1 匹配..

如果您同时安排最大数量的匹配,并且限制玩家一次只能参加一场比赛,并且想知道需要多轮,那就是天花板(log p)。