【OI】拓扑排序

拓扑排序

 

首先要求图为DAG

 

算法:
首先将度为1的节点加入队列
每次取出队首点u,在图中删去和u相邻的边
继续将度数为1的点加入队列

到了最后,

如果没有度数为1的点,则图不是DAG

 

通过拓扑排序可以给DAG中的节点编号,也可以用来判断DAG

 

由于DAG有严格的顺序,不存在从后向前连接的边,所以可以做dp

posted @ 2019-10-04 15:01  dudujerry  阅读(186)  评论(0编辑  收藏  举报