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

数据结构(6.3_2)——图的深度优先遍历

 树的深度优先遍历

 树的深度优先遍历分为先根遍历和后根遍历。

图的深度优先遍历

代码(只能遍历连通图)

 

//深度优先遍历
void DFS(Graph G, int v) {//从顶点v出发,深度优先遍历图Gvisit(v);//访问初始顶点vvisited[v] = true;//对v做已访问标记for (w = FirsitNeighbor(G, v); w >= 0; w = NextNeighbor(G, v, w);)//检查v所有邻接点if (!visited[w]) {//w为v的尚未访问的邻接点DFS(G, w);}
}

DFS算法(Final版)

代码

void DFSTraverse(Graph G) {//对图G进行深度优先遍历for (int v = 0; v < G.vexnum; ++v)visited[v] = false;//访问标记数组初始化for (int v = 0; v < G.vexnum; ++v)//从0号顶点开始遍历if (!visited[v])//对每个连通分量调用一次BFSDFS(G, v);//vi未访问过,从vi开始BFS}
//深度优先遍历
void DFS(Graph G, int v) {//从顶点v出发,深度优先遍历图Gvisit(v);//访问初始顶点vvisited[v] = true;//对v做已访问标记for (w = FirsitNeighbor(G, v); w >= 0; w = NextNeighbor(G, v, w);)//检查v所有邻接点if (!visited[w]) {//w为v的尚未访问的邻接点DFS(G, w);}
}

复杂度分析

空间复杂度

时间复杂度

深度优先遍历练习 

 

 

深度优先生成树 

 

深度优先生成森林 

 

图的遍历和图的连通性

 无向图

有向图

总结: 


http://www.mrgr.cn/news/9752.html

相关文章:

  • 企业本地部署大型语言模型(LLMs)构建本地垂直领域知识库的策略|空天防御
  • 前端音视频以及(关于收集用户信息的标签)
  • 小马识途海外媒体推广有何优势?
  • 【YOLOv8改进[Conv]】 感受野注意力卷积RFAConv(2024.3)| 使用RFAConv改进目标检测效果 + 含全部代码和详细修改方式
  • 羚羊软件:处理sql server 2008 R2 Error 9003
  • Pytorch构建网络模型结构都有哪些方式
  • 企业网站模板资源
  • Java笔试面试题AI答之集合(5)
  • CANoe.DiVa的应用——生成TP层测试用例过程流程详解(二)
  • Springboot+Mybatis-puls项目搭建问题Dao无法注入
  • Linux 线程的控制 互斥与同步
  • 人工智能-认知1
  • STM32通用定时器,端口复用和重映射
  • 如何用Java SpringBoot和Vue搭建高效的OA办公管理系统?
  • NPJ系列|放射组学与多组学数据整合:推进精准肿瘤学的新模式|文献速递·24-08-25
  • 一道xss题目--intigriti-0422-XSS-Challenge-Write-up
  • 【精选】数码论坛系统设计与实现(计算机毕业设计福利,计算机毕业设计参考,JAVA毕业设计)
  • 计算机毕业设计选题推荐-保险业务管理系统-Java/Python项目实战
  • 【jvm】虚拟机栈是如何运行的
  • 阿里云魏子珺:阿里云Elasticsearch AI 搜索实践