题目 思路 备注
    课程表 课程表中的课程有先修后修的前后关系,课程能否顺利修完,即看课程有没有循环依赖。即检测有向图中是否存在环的问题。因此可使用DFS或BFS, 注意在递归的过程中,需要记录三个状态, 每一趟dfs结束都要判断一下valid状态:
    - 0:未访问过,需要执行dfs访问的
    - 1:正在递归访问中的,如果重复被搜到就说明有环
    - 2: 访问完毕的
    image.png
    课程表II 跟上题类似,只不过额外要求输出其中一种拓扑排序路径而已。只需要在DFS的过程中,每当完成一门课程访问时,将此课程加入到路径中即可。
    最后注意,由于是递归进行的,输出的顺序要颠倒一下
    image.png