假设我们有一组任务要完成,并且有些任务要在其它任务完成之后才能开始,所以我们必须非常小心这些任务的执行顺序.如果这些任务的执行顺序足够简单的话,我们可以用链表来存储它们,这是一个很好的方案,让我们可以准确知道任务的执行顺序.问题是有时候不同任务之间的关系是非常复杂的,有些任务依赖于两个甚至更多的任务,或者反过来很多任务依赖自己.因此我们不能通过链表或者树的数据结构来对这个问题建模.对这类问题唯一合理的数据结构就是图.我们需要哪种图呢?很显然,我们需要有向图来描述这种关系,而且是不能循环的有向图,