課本源碼部分
第7章 圖 - 有向無環圖拓撲排序
——《數據結構》-嚴蔚敏.吳偉民版
源碼使用說明 鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明
課本源碼合輯 鏈接☛☛☛ 《數據結構》課本源碼合輯
習題集全解析 鏈接☛☛☛ 《數據結構題集》習題解析合輯
本源碼引入的文件 鏈接☛ Status.h、SequenceStack.c、ALGraph.c
文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲07 圖\09 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(有向無環圖拓撲排序測試數據)
測試結果展示