广度优先算法

文章目录

概要

广度优先,图的应用。看下都有什么用处。

广度优先算法,基于图的一种应用。

特点

广度优先,直观地讲,它其实就是一种"地毯式"层层推进的搜索策略,即先查找离起始顶点最近的,然后是次近的,依次往外搜索。

代码Python

python 复制代码
def BFS(graph, start, end):

    visited = set()
	queue = [] 
	queue.append([start]) 
	
	while queue: 
		node = queue.pop() 
		visited.add(node)

		process(node) 		
		nodes = generate_related_nodes(node) 
		queue.push(nodes)

小结

广度优先,图的一种应用。

同样的,配了一个动画的演示。可以去看下动画官网。毕竟,代码是空洞的,文字是无力的。可以看下动画,一步一步怎么来的。这样,也好理解下。

相关推荐
非优秀程序员1 分钟前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
武子康7 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
David猪大卫7 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
vvilkim9 小时前
数据结构类型、区别与应用场景:一篇讲透选型逻辑
数据结构
lisw0513 小时前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
阿卡好可爱13 小时前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
一起学安全技术13 小时前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Delightrs14 小时前
Rust LeetCode238 算法题解
开发语言·算法·rust
自信1504130575915 小时前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法