问题概述:
A task (e.g., A B C …) can be completed during a level only if it has no dependencies or all its dependencies have been have been completed.
A dependency: (A, B) indicates that task A has to be completed before B.
A task list is a list of all tasks to be completed.
A dependency list is a list of all dependencies considered.
顾名思义就是我们要完成一系列任务,单个任务之间可能是依赖关系,比如要完成任务B的前提是完成任务A,每次只能开始能进行的任务。就像完成学校学位所需要完成的课程。
这幅图很直观的展现出了要完成CS学位所需要完成的课程以及各个课程之间的依赖关系。
拓扑排序就是通关计算机程序来寻找完成这些任务的顺序,还可以延伸到许多不同的问题。
假设B任务必须依赖A才能完成,也就是说B一定在A之后完成,即(A,B)表示B依赖于A。
假设我们有