当前位置: 首页 > news >正文

数据结构——最短路径BFS算法

一、最短路径问题

 1.单源最短路径问题:从一个顶点出发,到达其他任意一个顶点的最短路径。

  BFS求无权图的单元最短路径:

    对无权图进行广度优先遍历算法,每进行一次,对边权值进行+1.

  2.代码实现

    对广度优先遍历中的Visit函数进行改造即可。设置两个数组,一个记录各个顶点到原始顶点的最短值,另一个记录每一个顶点在这各最短路径上的直接前驱。

  从2号顶点开始,将第一个数组(d)值全部设置为无穷,第二个数组(path)全部设置为-1,再将二号结点的d的值设置为0(起始顶点),再将visited数组中2号的值改为true。  执行while循环,如果队列非空则弹出队列(2号),再从2号开始,找到与它相邻的所有顶点,如果其中有没有访问过的顶点,也就是visited值为false,则更改d++,再修改path,将2号结点填入,修改visited为true。一次循环结束,以此类推(接下来为1)。

(对BFS小修改,在visit一个顶点时,修改其最短路径长度d,在path中记录其前驱。 d的值最大为几,则该图的广度优先生成树的深度为几,且高度最小)

相关文章:

  • WHAT - 程序员英语之美式发音学习系列(二)
  • C++面试题:C++中 using 和 typedef 有什么区别?
  • n8n - AI自动化工作流
  • word使用自带的公式
  • # WebSocket 与 Socket.IO 对比与优化
  • 每日一题-力扣-2829. k-avoiding 数组的最小总和 0326
  • HCIP(TCP)(2)
  • macOS 制作dmg磁盘映像安装包
  • SSL/TLS加密
  • vue 中渲染 markdown 格式的文本
  • RTOS实现Try-Catch机制,支持CM3/4/7
  • 【R语言可视化】相关系数热图
  • RAGFlow如何迁移到新机器
  • 批量提取 PPT 文档幻灯片中的备注到单独的文件
  • 26考研——栈、队列和数组_队列(3)
  • 前端知识点---用正则表达式判断邮箱(javascript)
  • langgraph的使用
  • TypeScript 与 JavaScript 对比
  • 雪花算法生成分布式唯一ID
  • (UI自动化测试web端)第二篇:元素定位的方法_css定位之层级选择器
  • 东莞公司展厅设计公司/seo门户网站优化
  • 内网做网站/百度推广账户怎么开
  • 网站开发用什么网站/百度商家版下载
  • 外贸公司网站建站/长沙seo行者seo09
  • wordpress企业网站定制教程 一/北京网站建设优化
  • 上海哪家做网站好/如何做seo