参考:https://blog.youkuaiyun.com/qq_35644234/article/details/60578189
问题描述:修一门课程之前必须修完该课程的先修课程,给出一个可行的选课顺序。(可能会有几种不同方案)

以上问题可以抽象为如下有向无环图的拓扑排序结果:

上图的邻接表为:

1、概念
拓扑排序(topological sort),将一个有向无环图(Directed Acyclic Graph,DAG)中所有顶点在不违反先决条件关系的前提下排成线性序列的过程称为拓扑排序。
先决条件,对于有向无环图G=(V,E),从顶点到顶点
之间有一条路径,则在序列中顶点
必须在
之前。
2、算法

本文介绍了图的拓扑排序,它是解决有向无环图中先决条件关系的选课顺序问题。拓扑排序将顶点排成线性序列,确保了先决条件得到满足。文中提供了两种算法,包括选择入度为0的顶点输出和深度优先搜索方法,并附带了代码实现。
最低0.47元/天 解锁文章
108

被折叠的 条评论
为什么被折叠?



