Tehtäväsi on muodostaa annetun verkon kaikki komponentit listoina. Esimerkiksi seuraavassa verkossa on kolme komponenttia, jotka ovat [1,2,3], [4,5,6,7] ja [8].
Jokainen komponentti tulee esittää listana, jossa on komponentin solmut pienimmästä suurimpaan. Komponentit tulee esittää listana, jossa komponentit on järjestetty komponentin pienimmän solmun mukaan.
Toteuta tiedostoon components.py
funktio find_components
, jolle annetaan listat verkon solmuista ja kaarista. Funktion tulee palauttaa lista komponenteista.
def find_components(nodes, edges): # TODO if __name__ == "__main__": nodes = [1, 2, 3, 4, 5, 6, 7, 8] edges = [(1, 2), (1, 3), (2, 3), (4, 5), (4, 6), (5, 7), (6, 7)] print(find_components(nodes, edges)) # [[1, 2, 3], [4, 5, 6, 7], [8]] nodes = [1, 2, 3, 4, 5] edges = [] print(find_components(nodes, edges)) # [[1], [2], [3], [4], [5]] nodes = [1, 2, 3, 4, 5] edges = [(1, 2), (1, 3), (1, 4), (1, 5)] print(find_components(nodes, edges)) # [[1, 2, 3, 4, 5]]