【发布时间】:2017-04-12 16:58:39
【问题描述】:
所以我创建了一个使用图表和起点的 bfs 遍历。它使用相邻列表中表示的图形,但我将如何更改它以使用邻接矩阵。我只需要从某个地方开始
邻接表:
{0:[1,2,3],1:[0,2,3],2:[0,1,4],3:[0,1],4:[2]}
邻接矩阵:
[ [0,1,1,1,0],
[1,0,1,1,0],
[1,1,0,0,1],
[1,1,0,0,0],
[0,0,1,0,0] ]
def bfs(graph, v):
all = []
Q = []
Q.append(v)
while Q != []:
v = Q.pop(0)
all.append(v)
for n in graph[v]:
if n not in Q and\
n not in all:
Q.append(n)
return all
【问题讨论】:
-
查看使用邻接表表示的部分。您正在迭代节点的邻居。弄清楚如何使用邻接矩阵迭代节点的邻居。
标签: python breadth-first-search adjacency-list adjacency-matrix