leetcode(207) Course Schedule即拓扑排序讲解

拓扑排序是对有向无环图(DAG)的顶点进行排序,确保无环条件。本文通过LeetCode 207题,解释拓扑排序的概念和步骤,并提供C/C++实现代码。
摘要由CSDN通过智能技术生成

关于拓扑排序的知识点可以参看http://www.cnblogs.com/newpanderking/archive/2012/10/18/2729552.html及http://blog.csdn.net/midgard/article/details/4101025两篇写的很好,这里做一个粗略的讲解

拓扑排序(topological-sort)是指由某个集合上的一个偏序得到该集合上的一个全序的操作。拓扑排序常用来确定一个依赖关系集中,事物发生的顺序。拓扑排序是对有向无环图的顶点的一种排序,它使得如果存在一条从顶点A到顶点B的路径,那么在排序中B出现在A的后面

拓扑排序两个条件:

  1. 有向无环,图中不能有环路,有环路则不能进行拓扑排序。有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说!!!
  2. 如果存在一条从顶点A到顶点B的路径,那么在排序中B出现在A的后面。
下面是算法流程图,本博客中我检测代码(C/C++和java)都用的是(a)这个模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值