# 一、綜述
定義:對有向無回路圖G=(V,E)進行須拓撲排序后,結果為該圖所有頂點的一個線性序列,滿足如果G包含邊(u, v),則在該序列中,u就出現在v的前面(如果圖是有回路的,就不可能存在這樣的線性序列)。
定理:一個有向圖G是無回路圖,當且僅當對G進行深度優先搜索時沒有得到反向邊。
# 二、代碼
https://code.csdn.net/mishifangxiangdefeng/exerciseforalgorithmsecond/tree/master/src/chapter22/section22_4.cpp
# 三、練習
### 22.4-1
t q u z w x v y r m s o n p
### 22.4-2
書上給的結果不對,psryv不通,因此是3條通路。
https://code.csdn.net/mishifangxiangdefeng/exerciseforalgorithmsecond/tree/master/src/chapter22/Exercise22_4_2.cpp
### 22.4-3
回路即反向邊,只要不存在反向邊,就沒有回路
### 22.4-5
[算法導論-22.4-5-用隊列實現拓撲排序](http://blog.csdn.net/mishifangxiangdefeng/article/details/7840091)
- 前言
- 第6章 堆排序
- 6-3 Young氏矩陣
- 第7章 快速排序
- 第8章 線性時間排序
- 第9章 排序和順序統計學算法導論
- 算法導論 9.1-1 求第二小元素
- 第10章 10.1 棧和隊列
- 第10章 10.2 鏈表
- 第10章 10.3 指針和對象實現
- 第10章 10.4 有根樹的表示
- 第11章-散列表
- 第12章 二叉查找樹
- 第13章 紅黑樹
- 第14章 14.1 動態順序統計
- 算法導論-14-1-最大重疊點
- 算法導論-14-2-Josephus排列
- 第14章 14.3 區間樹
- 第15章 動態規劃
- 第16章 貪心算法
- 第18章 B樹
- 第19章-二項堆
- 第20章 斐波那契堆
- 第21章 用于不相交集合的數據結構
- 第22章 圖的基本算法 22.1 圖的表示
- 第22章 圖算法 22.2 廣度優先搜索
- 第22章 圖算法 22.3 深度優先搜索
- 第22章 圖的基本算法 22.4 拓撲排序
- 第22章 圖的基本算法 22.5 強聯通分支