BFS算法框架

这里给出BFS基本算法框架,核心就是借助队列这种数据结构,每次遍历将一个节点的所有邻居节点加入到队列,然后按照队列 FIFO 的特性,实现BFS算法。

python 复制代码
# BFS 算法框架
#  计算从起点 start 到终点 target 的最近距离
def bfs(start, traget):
    step = 0
    # 核心数据结构
    queue = []
    # 避免走回头路
    visited = []
    # 将起点加入队列中
    queue.append(start)
    visited[start] = True

    while queue:
        sz = len(queue)
        for i in range(sz):
            cur = queue.pop()
            # 划重点:这⾥判断是否到达终点
            if cur == traget:
                return step

            for neighbor in cur.adj():
                if not visited[neighbor]:
                    queue.append(neighbor)
                    visited[neighbor] = True

        step += 1
    
    return step
相关推荐
0 0 04 小时前
CCF-CSP 38-2 机器人复健指南(jump)【C++】考点:BFS/DFS
开发语言·c++·算法·深度优先·宽度优先
筱昕~呀7 小时前
冲刺蓝桥杯-BFS板块(第八天)
职场和发展·蓝桥杯·宽度优先
2501_9248787313 小时前
VOC新规下汽车内饰应对指南:福尔蒂低气味除醛母粒适配广汽埃安Q4项目
汽车·线性回归·宽度优先
2301_8008951016 小时前
BFS--备战蓝桥杯版h
算法·蓝桥杯·宽度优先
xiaobaibai15316 小时前
同标‘UV稳定‘,福尔蒂母粒在广东户外建材中寿命延2.3倍:光老化测试对比
线性回归·宽度优先·uv
仟濹15 天前
【算法打卡day10(2026-02-24 周二)复习算法:DFS BFS 并查集】
算法·深度优先·图论·dfs·bfs·广度优先·宽度优先
We་ct15 天前
LeetCode 637. 二叉树的层平均值:BFS层序遍历实战解析
前端·数据结构·算法·leetcode·typescript·宽度优先
小龙报16 天前
【算法通关指南:数据结构与算法篇】二叉树相关算法题:1.美国血统 American Heritage 2.二叉树问题
c语言·数据结构·c++·算法·深度优先·广度优先·宽度优先
2501_9469614720 天前
2026年官方放假通知+复工开工时间表
贪心算法·宽度优先
散峰而望21 天前
【算法竞赛】二叉树
开发语言·数据结构·c++·算法·深度优先·动态规划·宽度优先