《算法导论》笔记 第22章 22.4 拓扑排序

【笔记】


对一个有向无回图DAG进行拓扑排序,结果为所有顶点的一个线性序列,满足如果G包含边(u,v)则在该序列中,u就出现在v的前面。

一个有向图G是无回路的,当且仅当对G进行深度优先搜索时没有得到反向边。


对图进行dfs,对结束的顶点时,将其插入列表的头。

则列表就是拓扑序。


【练习】


22.4-1 说明拓扑后顶点顺序。


22.4-2 给出一个线性时间的算法,其输入为一个有向无回图G和两个顶点s和t,返回G中从s到t的通路数目。

DP吧,f[u]表示从s到u的通路数目,f[v]+=f[u]若有一条边从u到v。一边拓扑一边求解。


22.4-3 确定一个给定的无向图G中是否包含一个回路。运行时间O(V),独立于|E|。

是否能成功拓扑排序


22.4-4 证明或反证:如果一个有向图G包含回路,则拓扑产生的顶点排序序列,他可以最小化坏边的数目,即与所生成的顶点序列不一致的边。


22.4-5 如何实现找入度为0的顶点并输出来拓扑的方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值