【正文】
3C4C5C7C9 C6 C8 C11 C12 拓撲序列: C1C2C3C4C5C7C9 C10 ( 8) C6 C7 C8 C9 C10 C11 C12 拓撲序列: C1C2C3C4C5 ( 5) C6 C8 C9 C10 C11 C12 拓撲序列: C1C2C3C4C5C7 ( 6) ( 7) 17 C6 C8 C12 拓撲序列: C1C2C3C4C5C7C9 C10C11 ( 9) C8 C12 拓撲序列: C1C2C3C4C5C7C9 C10C11C6 ( 10) C8 拓撲序列: C1C2C3C4C5C7C9 C10C11C6C12 ( 11) 拓撲序列: C1C2C3C4C5C7C9 C10C11C6C12C8 ( 12) 18 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 拓撲序列: C1C2C3C4C5C7C9C10C11C6C12C8 或 : C9C10C11C6C1C12C4C2C3C5C7C8 一個 AOV網(wǎng)的拓撲序列不是唯一的 如何在計算機上實現(xiàn) 對有向圖的拓撲排序? 19 a b c g h d f e a b h c d g f e 20 一、有向無環(huán)圖及其應用 ( 1) 選擇一入度為 0 頂點 v,輸出; ( 2) 將 v 鄰接到的頂點的入度減 1; ( 3) 重復 12,直到輸出全部頂點或圖中沒有入度為 0的頂點; 拓撲排序涉及的數(shù)據(jù)和操作: 數(shù)據(jù): 有向圖,頂點的入度; 操作: ( 1) 選擇一入度為 0 頂點 v,輸出; ( 2) 將 v 鄰接到的頂點 u 的入度減 1; 拓撲排序算法 21 設計數(shù)據(jù)結構 1. 圖的存儲結構:采用鄰接表存儲 ,在頂點表中增加一個入度域。 思考:可以用隊列嗎? AOV網(wǎng)應用:拓撲排序 22 (a) 一個 AOV網(wǎng) (b) AOV網(wǎng)的鄰接表存儲 0 1 2 3 4 5 in vertex firstarc 3 A ∧ 0 B 1 C 3 D 0 E 2 F ∧ 0 3 ∧ 0 0 5 ∧ 2 3 ∧ 3 5 ∧ A B C D E F 拓撲排序 AOV網(wǎng)應用:拓撲排序 23 拓撲排序 0 1 2 3 4 5 in vertex firstarc 3 A ∧ 0 B 1 C 3 D 0 E 2 F ∧ 0 3 ∧ 0 0 5 ∧ 2 3 ∧ 3 5 ∧ A B C D E F B E AOV網(wǎng)應用:拓撲排序 24 拓撲排序 0 1 2 3 4 5 in vertex firstarc 3 A ∧ 0 B 1 C 3 D 0 E 2 F ∧ 0 3 ∧ 0 0 5 ∧ 2 3 ∧ 3 5 ∧ A B C D E F B E 0 C2 1 AOV網(wǎng)應用:拓撲排序 25 拓撲排序 0 1 2 3 4 5 in vertex firstarc 3 A ∧ 0 B 0 C 2 D 0 E 1 F ∧ 0 3 ∧ 0 0 5 ∧ 2 3 ∧ 3 5