图的深度优先搜索遍历和广度优先搜索遍历详解(上)

本文主要探讨图的深度优先搜索遍历(DFS),将其与二叉树的先序遍历做比较,并提供了C++的实现代码。DFS的基本思想是从起点开始,访问并标记已访问的顶点,然后递归地访问其邻接未访问的顶点,直至所有顶点都被访问。
摘要由CSDN通过智能技术生成

在研究生考试中,图的深度优先搜索遍历和广度优先搜索遍历是重中之重,而通用的考试代码是C++,今天就站在考试的角度上,来分析一下这两种不同遍历。

深度优先遍历

  • 图的深度优先遍历(DFS)类似于二叉树的先序遍历。基本思想是首先访问出发点V,并将其标记为已访问过;
  • 然后选取与V邻接的未被访问的任意一个顶点w,访问它;
  • 再选取与w邻接的未被访问的任一顶点访问,重复进行。
  • 当邻接结点都被访问了的时候,依次退回到最近被访问过的顶点,若该顶点还有其他邻接顶点未被访问,从中选取一个重复上述的过程,直到所有的都被访问过为止。

实现代码:

int visit[maxsize]// v为起点编号,visit【】是全局数组,作为顶点的访问标记,初始元素全部都是0,表示所有顶点都未被访问。
void DFS(AGraph 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值