Tehtäväsi on muodostaa jokaisesta puun tasosta lista, joka sisältää tasolla olevat solmut numerojärjestyksessä.
Esimerkiksi alla olevassa puussa ylimmän tason lista on [1], keskitason lista on [2,4,5] ja alimman tason lista on [3,6,7].
Toteuta tiedostoon levels.py
funktio find_levels
, jolle annetaan parametrina viittaus puun juurisolmuun. Funktio palauttaa listan, joka sisältää tasojen listat.
class Node: def __init__(self, value, children=None): self.value = value self.children = children if children else [] def __repr__(self): if self.children == []: return f"Node({self.value})" else: return f"Node({self.value}, {self.children})" def find_levels(node): # TODO if __name__ == "__main__": tree1 = Node(1, [Node(4, [Node(3), Node(7)]), Node(5), Node(2, [Node(6)])]) print(find_levels(tree1)) # [[1], [2, 4, 5], [3, 6, 7]] tree2 = Node(1, [Node(2, [Node(3, [Node(4)])])]) print(find_levels(tree2)) # [[1], [2], [3], [4]] tree3 = Node(1, [Node(2), Node(3), Node(4)]) print(find_levels(tree3)) # [[1], [2, 3, 4]]