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

常见问题 网站建设昆明网站制作代理

常见问题 网站建设,昆明网站制作代理,广西玉林网站建设正规公司,自助建子站上文中我们了解了图的表示, 本节我们来学习图的遍历. 图的遍历是指从图的某一顶点出发, 按照某种搜索方法沿着图的边对图中的所有顶点访问一次且仅访问一次. 广度优先遍历(Breadth-First Search, BFS)和深度优先遍历(Depth-First Search, DFS)是两种常用的图遍历算法. 环境要…

上文中我们了解了图的表示, 本节我们来学习图的遍历.

图的遍历是指从图的某一顶点出发, 按照某种搜索方法沿着图的边对图中的所有顶点访问一次且仅访问一次. 广度优先遍历(Breadth-First Search, BFS)和深度优先遍历(Depth-First Search, DFS)是两种常用的图遍历算法.

环境要求

本文所用样例在Windows 11以及Ubuntu 24.04上面编译通过.

  1. Windows: 使用[Visual Studio],
  2. Ubuntu: 使用 Clang 18.1.3. (Ubuntu 24.04 系统安装版本)
  3. GCC 无法编译直接本项目代码, 因为本文代码使用了 C++20 Module, 而 GCC 对此支持不完整.

关于 Module 的更多信息, 请参考我之前的博客: CMake 构建 C++20 Module 实例(使用 MSVC)

广度优先遍历(BFS)

基本思想

从图的某一顶点(源点)开始访问, 然后依次访问该顶点的所有未访问过的邻接顶点, 接着再按照这些邻接顶点被访问的先后顺序, 依次访问它们的邻接顶点, 以此类推, 直到图中所有与源点有路径相通的顶点都被访问到. 可以形象地理解为以源点为中心, 一层一层地向外扩展访问.

bfs

实现方式

通常使用队列(Queue)来辅助实现. 具体步骤如下:

  1. 访问起始顶点 v v v, 并将其标记为已访问, 然后将 v v v入队.
  2. 当队列不为空时, 从队列中取出一个顶点 u u u.
  3. 遍历顶点 u u u的所有邻接顶点 w w w, 若 w w w未被访问过, 则访问 w w w, 标记 w w w为已访问, 并将 w w w入队.
  4. 重复步骤 2 和步骤 3, 直到队列为空.

代码实现

之前的例图中图是连通的, 即每一个顶点都能到达其他顶点. 如果图不是连通的, 则需要遍历每一个连通分量, 即从图中的每一个顶点开始, 寻找该顶点所在的连通分量.

BFS2

因此遍历的代码会尝试从每一个顶点开始, 遍历该顶点所在的连通分量. 参数parent用来记录每个顶点的父节点, 也就是从哪条边到该顶点的. 这是为了方便打印输出.

void visit() {std::vector<bool> visited(graph_.V()
http://www.dtcms.com/a/531464.html

相关文章:

  • 自己的服务器做网站域名解析wordpress后台美化
  • 大连房地产网站开发制作ppt的软件免费下载
  • 闲鱼网站建设专门设计的网站
  • 上海网站建设友汇网站企业163邮箱登录
  • 单页面淘宝客网站软装设计公司网站
  • 边境网站建设方案wordpress表excel插件
  • 高水平的大连网站建设网站建设设计大作业
  • 网站设计好网站东莞网站开发公司哪家好
  • 关于单位网站建设的请示wordpress的app
  • cf网站编程wordpress 会议
  • 建设微信网站要多少钱论坛推广软件
  • 沈阳网站建设公司多少钱赣州章贡区医保局电话
  • 怎么做刷qq业务网站wordpress文字添加图片
  • php网站开发面向对象教程西安网站建设哪些公司好
  • 做一个官网要多少钱福州seo推广公司
  • 做字幕模板下载网站有哪些怎么网站建设多少钱
  • 公司网站建设方案详细方案模板wordpress定时插件
  • 17网一起做网站工业设计专业是干什么的
  • 公司网站开发建设node js 网站开发
  • 高校思政课网站建设如何建设物流网站
  • 北京产品网站设计哪家专业1分钟视频制作报价明细
  • 中国建设招标网?官方网站网站建设推广公司需要哪些岗位
  • 现在网站做SEO怎么样怎样做网站內链
  • 做的网站为什么图片看不了怎么回事功能网站建设
  • 如何免费建网站家装设计网页论文
  • 网站推广全过程深圳企业网站建设制作网络公司
  • 浙江省建设厅官方网站ui设计师培训费用
  • 普洱高端网站建设价格企业网站需要注意什么
  • 白沙网站建设的目标免费的app下载网站
  • 广州公司网站设计制作centos7 wordpress搭建