图的遍历

给出一个图G和其中任意一个顶点V0,从V0出发系统的访问G中所有的顶点,每个顶点访问一次,这叫图的遍历

深度优先搜索(depth-first search)简称DFS

基本思想

  • 访问一个顶点V,然后访问该顶点邻接到的未被访问过的顶点V’
  • 再从V’出发递归地按照深度优先的方式遍历;
  • 当遇到一个所有邻接于它多的顶点都被访问过了的顶点U时,则回到已访问顶点序列中最后一个未被访问的相邻顶点的顶点W;
  • 在从W出发递归地按照深度优先的方式遍历
  • 最后,当任何已被访问过的顶点都未被访问的相邻顶点时,则遍历结束。
    在这里插入图片描述在这里插入图片描述深度优先搜索时间复杂度
  • 对于具有n个顶点e条边的无向图或有向图,深度优先搜索算法对图中每一个顶点至多调用一次DFS函数
  • 邻接矩阵表示图时,共需检查n2个矩阵元素,所需时间为O(n2)
  • 邻接表表示图时,找邻接点需将邻接表中所有边结点检查一遍,需要时间O(e),对应的深度优先搜索算法时间复杂度为O(n+e)

深度优先搜索(breadth-first search)简称BFS

基本思想

  • 访问顶点V0

  • 然后访问顶点V0邻接到的所有未被访问的顶点V1,V2,…,Vi

  • 再依次访问V1,V2,…,Vi邻接道德所有未被访问的顶点

  • 如此进行下去,直到访问遍所有顶点
    在这里插入图片描述在这里插入图片描述
    广度优先搜索时间复杂度

  • 对于具有n个顶点e条边的有向图或无向图,广度优先搜索算法对图中每个顶点至多调用一次BFS函数

  • 邻接矩阵表示图时共需检查n2个矩阵所需时间为O(n2

  • 邻接表表示图时,找邻接点需将邻接表中所有边结点检查一遍,需要时间O(e),对应的广度优先搜索算法的时间复杂度为O(n+e)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值