DFS 从 0 出发的访问顺序
七个点的图,邻居表都按编号从小到大排好。运行下面这段程序:
def dfs(g, s):
seen = set()
out = []
def go(u):
seen.add(u)
out.append(u)
for v in g[u]:
if v not in seen:
go(v)
go(s)
return out
g = {0: [1, 2], 1: [0, 3], 2: [0, 4],
3: [1, 4], 4: [2, 3], 5: [6], 6: [5]}
print("/".join(str(x) for x in dfs(g, 0)))
全部评论