用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

广度优先搜索

2024-04-30 作者: Python自学举报

[python]代码库

from collections import deque


def bfs(graph, start_node):
    # 使用队列存储待访问的节点
    queue = deque()
    # 使用集合记录已访问的节点
    visited = set()

    # 将起始节点加入队列和已访问集合
    queue.append(start_node)
    visited.add(start_node)

    while queue:
        # 从队列中取出一个节点
        node = queue.popleft()
        print(node)  # 输出节点

        # 遍历该节点的所有邻居节点
        for neighbor in graph[node]:
            # 若邻居节点未被访问,则加入队列和已访问集合
            if neighbor not in visited:
                queue.append(neighbor)
                print(neighbor)  # 输出节点

                visited.add(neighbor)


# 准备图的表示
graph = {
    'A': ['B', 'C'],
    'B': ['A', 'D', 'E'],
    'C': ['A', 'F'],
    'D': ['B'],
    'E': ['B', 'F'],
    'F': ['C', 'E']
}

# 调用bfs函数
start_node = 'A'
bfs(graph, start_node)


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...