2009-09-05 65 views
0

可以说我有一百万的人反对说,使用分组和排序算法的帮助

person1.Matches(person2);

返回true或false评估时。我想将它们分组。这些小组由任何一个人与小组中的任何其他人进行匹配而制成。因此,来自一个组的任何人都不会与来自另一个组的任何人匹配。一个组中的任何人都将成为同组中至少一个人的匹配。例如,如果一个人是无性的,它将形成一个人的团体。一对诚挚的夫妻将组成一组。丈夫和他的妻子以及他的情妇和情妇丈夫会形成一组4.如果你知道,这个算法将被用来分析几何图形。

回答

5

此问题看起来完全像connected components问题。 您的图顶点是人,图边是“匹配”关系。它可以通过BFS或DFS解决(在维基百科的链接中阅读它,它给出了一个很好的解释)。