直接邻居和能走到的,差多少
走过的不做记号,就绕回原地了
不标记
标记过
七个点的图,0 号的邻居表是 [1, 2]。运行下面这段程序,看它的直接邻居有几个、一路能走到几个:
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(str(len(g[0])) + "/" + str(len(dfs(g, 0))))
全部评论