#广度优先遍历模拟
#通过字典进行图的初始化
graph = {
"A":["B","C"],
"B":["A","C","D"],
"C":["A","B","D","E"],
"D":["B","C","E","F"],
"E":["C","D"],
"F":["D"]
}
def BFS(graph,s):
#初始化一个队列存放遍历节点
queue = []
queue.append(s)
#集合seen用于记录已访问的节点
seen = set()
seen.add(s)
while(len(queue)>0):
vertex = queue.pop(0)
#nodes用于存放与节点vetex直接相连的节点
nodes = graph[vertex]
for w in nodes:
if w not in seen:
queue.append(w)
seen.add(w)
print(vertex)
BFS(graph,"A")
BFS模拟
最新推荐文章于 2024-04-15 16:53:55 发布