计科1111-1114班第五周讲义、课外作业(强连通分量、BFS,截止日期:2014年4月11日23点-周五晚,学委飞信通知同学)

    第五周主要讲授了 "第3章:图的分解"的有向图强连通分量,以及“第4章:图的路径”中BFS算法。

讲授内容

1.  强连通分量(SSC-Strong Connectivity Component):SSC的主要算法,是建立在深度优先搜索(DFS)和 有向无环图(DAG)的概念之上。教材P105的两个性质,其中“性质:在有向无环图中,每条边都指向一个post值更小的顶点”,换句话就是,“源点的post值最大”,因为源点指向其他顶点;“性质:每个有向无环图至少含有一个源点和一个汇点”,那么就很自然的引申出了 强连通分量 的发现算法。


    有向图G的超图是一个有向无环图,其反向图Gr也是一个有向无环图,其中G的源点成了Gr的汇点,G的汇点成了Gr的源点。所以,我们可以利用Gr,在深度优先搜索过程中,找到post最大的顶点,并且对顶点按照post值进行逆序(假设其顶点逆序为:GIJLKH  D  CF  BE  A,其中共有5个强连通分量)。则在原图G中,就是依次在汇点强连通分量中的顶点(顶点G)出发,进行深度优先遍历,从而不断的找到第一个汇点强连通分量(GHKLJI),标记好已经搜索的顶点;然后继续从顶点D开始搜索,得到第二个强连通分量D;……核心:深度优先搜索中顶点的搜索顺序至关重要。

2. (重点)有向图G(V,E)的强连通分量发现算法:(a)生成G的反向图Gr;(b)对反向图Gr进行DFS搜索,得到顶点post的逆序数组;(c)按照顶点post的逆序,在原图中进行深度优先遍历。

3.  广度优先搜索(BFS-Breadth First Search):特别适合用邻接表来表示图,与BFS搜索的顺序配合完美。算法中最核心的部分就是使用队列(Queue),利用其先进先出(FIFO)的性质,算法伪代码在教材P121.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值