In [ ]:
tree = [[1, 3], [4, 7], [5, 9], [3, 5], [7, 10], [1, 2], [4, 6], [5, 8], [1, 4]]
edges = [[] for i in range(11)]
for u, v in tree:
edges[u].append(v)
for i in range(1, 11):
print(f"point {i} :", end=" ")
for j in edges[i]:
print(j, end=" ")
print()
point 1 : 3 2 4 point 2 : point 3 : 5 point 4 : 7 6 point 5 : 9 8 point 6 : point 7 : 10 point 8 : point 9 : point 10 :
In [ ]:
list = [1]
while len(list) > 0:
front = list[0]
list.pop(0)
print(front, end=" ")
for i in edges[front]:
if i != 0:
list.append(i)
1 3 2 4 5 7 6 9 8 10
In [ ]:
list = [1]
while len(list) > 0:
back = list[-1]
list.pop()
print(back, end=" ")
for i in edges[back][::-1]:
if i != 0:
list.append(i)
1 3 5 9 8 2 4 7 10 6
In [ ]:
def dfs(u):
print(u, end=" ")
for v in edges[u]:
if v != 0:
dfs(v)
dfs(1)
1 3 5 9 8 2 4 7 10 6