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

网站建设维护公司资质陕西seo排名

网站建设维护公司资质,陕西seo排名,无锡做网络推广的公司,南宁软件优化网站建设上文中我们了解了图的表示, 本节我们来学习图的遍历. 图的遍历是指从图的某一顶点出发, 按照某种搜索方法沿着图的边对图中的所有顶点访问一次且仅访问一次. 广度优先遍历(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/wzjs/496559.html

相关文章:

  • 广州网站建设=388元怎么提高百度搜索排名
  • 做黄色网站的成本湖南企业seo优化推荐
  • 吴江网站建设哪家好建站模板免费下载
  • wordpress 本地安装插件杭州seo公司排名
  • 做cpa推广的网站怎么弄网站权重是怎么提升的
  • 湖州网站建站企业网页设计公司
  • 抢车票网站怎么做百度医生在线问诊
  • 苏州做网站找哪家好网络营销促销方案
  • 手机移动端网站做多大全网推广引流黑科技
  • 如今做那些网站能致富中国十大知名网站
  • 济南seo网站建站网站模板下载免费
  • 什么地方的人大工作网站做的好seo搜索引擎优化推广
  • discuz网站搬家灰色关键词代发可测试
  • 网站开发中视屏怎样编辑到网页上深圳全网营销型网站
  • 动漫网站设计与实现seo中文意思
  • 法院内网网站的建设目的佛山网站建设技术托管
  • 建一个自己的网站价格大连百度关键词优化
  • 网站开发建设专业的公司线上广告投放方式
  • 怎么重新网站做301上海优化外包
  • 互联网舆情监测中心seo的范畴是什么
  • 自己做的网站挂其他广告收费seo图片优化
  • 做中东市场哪个网站合适的磁力搜索引擎
  • 网站域名怎么填写网站怎么优化关键词排名
  • 网站建设需要那些人深圳网站设计知名乐云seo
  • 泰安网站建设海洋网络推广效果
  • 网站站内搜索代码网页优化公司
  • 做乒乓球网站的图片谷歌安装器
  • 保定移动网站建设搜索优化师
  • 上海易雅达网站建设公司怎么样百度关键词广告怎么收费
  • 房产集团公司网站建设方案2022年新闻大事