拓撲排序是有向無環圖的一種應用,在實際生活中用的很多。
比如GIS專業的課程設計,許多課程需要前置課程要求,也就是說沒上過A課程、則不可能直接去學B課程,畫個圖表就是:
同理,我們教材中的范例:穿衣服的過程也是一個拓撲排序問題,如下表:
有關這個拓撲排序的模型構造以及解法、我們的教材有著十分詳盡的描述,這里不再敘述,我們主要要解決的就是:如何編程:
從教材P194圖7.33到圖7.34,我們可知該問題的求解過程是:
- 1 尋找入度為0的頂點、標記它們并進棧;
- 2 出棧、然后刪除該頂點;
- 3 返回到1、直至棧空。
首