课本源码部分
第7章 图 - 有向无环图拓扑排序
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ Status.h、SequenceStack.c、ALGraph.c
文档中源码及测试数据存放目录:数据结构▲课本算法实现▲07 图 9 TopologicalSort
概述
拓扑排序,是将有向无环图G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。
解析
构造一个有向无环图的拓扑序列的步骤主要是循环执行以下两步,直到不存在入度为0的顶点为止:
(1) 选择一个入度为0的顶点并输出之;
(2) 从图中删除此顶点及所有的出边。
注意,拓扑排序的线性序列不唯一。
源码
文件一 ☛ TopologicalSort.h
文件二 ☛ TopologicalSort.c
文件三 ☛ TopologicalSort-main.c (测试文档)
文件四 ☛ TestData_DG_AL.txt(有向无环图拓扑排序测试数据)
测试结果展示