2009-09-05 80 views
0

可以說我有一百萬的人反對說,使用分組和排序算法的幫助

person1.Matches(person2);

返回true或false評估時。我想將它們分組。這些小組由任何一個人與小組中的任何其他人進行匹配而製成。因此,來自一個組的任何人都不會與來自另一個組的任何人匹配。一個組中的任何人都將成爲同組中至少一個人的匹配。例如,如果一個人是無性的,它將形成一個人的團體。一對誠摯的夫妻將組成一組。丈夫和他的妻子以及他的情婦和情婦丈夫會形成一組4.如果你知道,這個算法將被用來分析幾何圖形。

回答

5

此問題看起來完全像connected components問題。 您的圖頂點是人,圖邊是「匹配」關係。它可以通過BFS或DFS解決(在維基百科的鏈接中閱讀它,它給出了一個很好的解釋)。