摘要:
问题是这样的:一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问最少得比多少场才能知道跑得最快的5匹马。注意:"假设每匹马都跑的很稳定" 的意思是在上一场比赛中A马比B马快,则下一场比赛中A马依然比B马快。稍微想一下,可以采用一种竞标赛排序(Tournament Sort)的思路。见《选择排序》(1) 首先将25匹马分成5组,并分别进行5场比赛之后得到的名次排列如下: A组: [A1 A2 A3 A4 A5] B组: [B1 B2 B3 B4 B5] C组: [C1 C2 C 阅读全文