拓扑排序最基本的应用。显然我们应该优先访问那些入度为零的节点(也就是不需要先修课程的课程)。删去第一批最外围的节点后,再继续访问此时入度更新为零的节点。依次类推。使用的数据结构就是BFS,
如何确定第二批最外围的节点呢?一个拓扑排序最基本的技巧就是:对于每一个当前最外围的节点x,我们都找它的后继y。删除x意味着y的入度减少了一。当y的入度刚好被删到为零的时候,就说明它就能成为新的外围节点。
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
拓扑排序最基本的应用。显然我们应该优先访问那些入度为零的节点(也就是不需要先修课程的课程)。删去第一批最外围的节点后,再继续访问此时入度更新为零的节点。依次类推。使用的数据结构就是BFS,
如何确定第二批最外围的节点呢?一个拓扑排序最基本的技巧就是:对于每一个当前最外围的节点x,我们都找它的后继y。删除x意味着y的入度减少了一。当y的入度刚好被删到为零的时候,就说明它就能成为新的外围节点。