「抽象」《大話資料結構》第七章 拓撲排序

2021-10-06 21:47:57 字數 707 閱讀 2162

拓撲序列:設g=(v,e)是乙個具有n個頂點的有向圖,v中的頂點序列:v1,v2,v3,…,vn,滿足若從頂點vi到vj有一條路徑,則在頂點序列中頂點vi比在頂點vj之前。我們稱這樣的頂點序列為乙個拓撲序列。

**拓撲排序:**就是對乙個有向圖構造拓撲序列的過程。

演算法的實現是基於鄰接表的儲存結構。

**思想:

1 定義乙個棧(stack)儲存沒有入度的頂點序號,定義top指向棧頂,定義count記錄輸出的頂點個數,以便判斷是否有環存在。

2 初始化stack,把所有入度為0的頂點入棧。

3 在棧不為空的情形下進行迴圈:出棧,並列印這個頂點資訊,count++。接下來通過迴圈訪問該頂點的鄰接表,並對弧頭的入度in減一,如果in等於0,則需要把該頂點入棧。

4 最後判斷count是否等於頂點數。

**如下:

int

topologicalsort

(graphverter g)

while

(top !=0)

}if(count < g.numvertexes)

return0;

else

return1;

}

「抽象」《大話資料結構》第七章 關鍵路徑

aoe網 在乙個表示工程的帶權有向圖中,用頂點表示事件 比如 發動機造好啦 用有向邊表示活動 比如 我正在造發動機 用邊上的權值表示活動的持續時間 比如 造發動機需要3天 這種有向圖的邊表示的活動的往,就是aoe網。這個網有乙個源點和乙個匯點,源點到匯點的最長路徑稱作關鍵路徑,關鍵路徑上的活動稱為關...

「抽象」《大話資料結構》第七章 最短路徑

對於網圖 最短路徑是指兩頂點之間經過的邊上權值之和最小的路徑 對於非網圖 最短路徑是指兩頂點之間邊數最小的路徑,因為邊的權值都為1 演算法思想 1 首先定義兩個陣列pathmatirx i shortpathtable k pathmatirx陣列它的序號 i 代表頂點序號,而對應的元素則是最短路徑...

資料結構第七章

平衡二叉樹 基本思想 在構造二叉排序樹的過程中,每插入乙個 結點時,首先檢查是否因插入而破壞了樹的平衡性,若是,則找出最小不平衡子樹,在保持二叉排序樹特 性的前提下,調整最小不平衡子樹中各結點之間的鏈 接關係,進行相應的旋轉,使之成為新的平衡子樹 平衡二叉樹 或者是一棵空的二叉排序樹,或者是具 有下...