在任何一羣人中都有很多朋友。假設兩個朋友分享朋友是朋友自己。 (是的,在現實生活中這是一個不切實際的假設,但我們仍然要這樣做)。換句話說,如果人A和B是朋友,而B是C的朋友,那麼A和C也必須是朋友。只要我們知道團隊中的友誼,就可以使用這條規則將任何一羣人分成友誼圈。在python中創建認識其他朋友的朋友的字典
編寫一個函數需要兩個參數的networks()。第一個參數是組中的人數,第二個參數是定義朋友的元組對象列表。假設人們用數字0到n-1來標識。例如,元組(0,2)表示人0與人2是朋友。該函數應該將人的分區打印成友誼圈。下圖顯示了函數的幾個樣品運行:
>>>networks(5,[(0,1),(1,2),(3,4)])#execute
社交網絡0 {0,1,2}
社交網絡1 {3,4}
我是誠實很失落關於如何開始這個計劃,任何提示將不勝感激。
您想查找可以使用** union find **算法快速找到的graph_的_connected組件。 – 2013-03-11 06:32:06