# g = {
# 1:[2,3],
# 2:[4,5],
# 3:[6,7],
# 4:[],
# 5:[8],
# 6:[],
# 7:[],
# 8:[]
# }
d = '''
1 2
1 3
2 4
2 5
3 6
3 7
5 8
'''
d = d.strip()
e = [int(i) for i in d if i >='0' and i<='9']
d = [i.split() for i in d.split('\n')]
d = [[int(i[0]),int(i[1])] for i in d]
g = {}
for k in set(e):
a = []
for j in d:
if k == j[0]:
a.append(j[1])
g[k]=a
print(g)
g = {}
for key in set(e):
a =[]
for j in d:
if j[0]==key:
a.append(j[1])
g[key]=a
print(g)
v = []
def dfs(g,v,n):
print(n,end=' ')
v.append(n)
for nb in g[n]:
if nb not in v:
dfs(g,v,nb)
dfs(g,v,1)
print()
v=[]
q = []
def bfs(g,v,n):
q.append(n)
while q:
p=q.pop(0)
if p not in v:
print(p,end=' ')
v.append(p)
for nb in g[p]:
if nb not in v:
q.append(nb)
bfs(g,v,1)
# 執行結果
# 1 2 4 5 8 3 6 7
# 1 2 3 4 5 6 7 8
沒有留言:
張貼留言