数据结构复习之图(2)

3.图的遍历(会根据图给出深度优先搜索序列和广度优先搜索序列,)、采用邻接表存储图时,广大优先遍历和深度优先遍历分别类似于二叉树的哪种遍历

4.拓扑排序(会根据图的定义绘制图,并给出图的一种拓扑序列,),可以判断图中是否有环



针对考点。一点一点掰扯吧。


part 3:

深度优先搜索序列:从图中某个顶点V0 出发,访问此顶点,然后选择一个与V0邻接且未被访问的顶点W为初始顶点,再从W出发进行深度优先搜索, 直至图中所有顶点都被访问到。

实例:



深度优先搜索遍历连通图的过程类似于树的先根遍历


广度优先搜索序列:从图中的某个顶点V出发,并在访问V0之后依次访问V0的各个未被访问的邻接点,之后按这些顶点被访问的先后次序依次访问它们的邻接点,直至图中所有和V0有路径相通的顶点都被访问到。

实例:


广度优先搜索是一种分层的搜索过程,广度优先搜索不是一个递归的过程,其算法也不是递归的


遍历算法总结

1. 遍历图的过程实质上是通过边或弧找邻接点的过程,因此DFS和BFS的时间复杂度是相同的。


2. 对于一个图,它的DFS和BFS的搜索顺序不唯一,是由该图的存储结构决定的。


3、如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是连通图。


4、对于非连通图的遍历过程中每调用一次DFS算法都得到该图的一个连通分量。


采用邻接表存储图时,广度优先遍历和深度优先遍历分别类似于二叉树的哪种遍历:

先序。层次。


part 4:

拓扑排序:按照有向图给出的次序关系,由一个偏序得到一个全序,由此所得顶点的线性序列称之为拓扑有序序列。


检查有向图中是否存在回路的方法之一,是对有向图进行拓扑排序。



如何进行拓扑排序?

1、从有向图中选取一个没有前驱
        的顶点,并输出之;

2、从有向图中删去此顶点以及所
        有以它为尾的弧;

然后重复重复再重复。直至图空,或者图不空但找不到无前驱的顶点为止。






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值