python 图的广度优先搜索BFS

python 图的广度优先搜索BFS,第1张

python 图的广度优先搜索BFS 前言

图的广度优先搜索,采用队列方式
手绘有向图

程序
import queue
from queue import Queue
graph = {
    "a": ["b", "c"],
    "b": ["a", "d"],
    "c": ["a", "d"],
    # "d": [ "e"],
    "d": ["c", "e"],  # add loop
    "e": ["d"]
}

##
vis= []
q = queue.Queue()
def bfs(v):
    q.put(v)  # 进队列
    vis.append(v) # 加入访问过的列表
    while not q.empty():
        u = q.get()
        # print(u)
        for vi in graph[u]:
            if vi not in vis:
                vis.append(vi)
                q.put(vi)
    return vis


bfs("e")
vis

结果展示

['e', 'd', 'c', 'a', 'b']

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5495684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存