根據上圖所示,分析頂點的先後順序
入上圖可以構造兩種對象:
頂點對象:包含入度數,頂點名稱V0等,首個出度指向
邊標對象:頂點對象的出度的頂點的名稱的下標和頂點對象下一個出度指向。
核心思想:
1.把所有入度爲零的頂點元素的下標壓入棧(不管先後順序)
2.彈出棧頂元素,打印或保存;棧頂元素(下標)對應的頂點的出度指向的頂點的入度均-1;
3.檢查是否有入度爲0的頂點元素,把下標壓入棧。
4.沒有則繼續彈出棧頂元素,直到棧爲空。
拓撲排序的一種結果:
頂點:v3
頂點:v1
頂點:v2
頂點:v6
頂點:v9
頂點:v10
頂點:v13
頂點:v0
頂點:v4
頂點:v5
頂點:v8
頂點:v7
頂點:v12
頂點:v11