輸出所有的拓撲排序 此後無良辰

2021-10-06 21:45:50 字數 1157 閱讀 5905

由aov網構造拓撲序列的拓撲排序演算法主要是迴圈執行以下兩步,直到不存在入度為0的頂點為止。

(1) 選擇乙個入度為0的頂點並輸出之;

(2) 從網中刪除此頂點及所有出邊。

附上原始碼(鏈式前向星儲存,鄰接矩陣一樣):

void

tuopu()

}}}}

}

注:拓撲排序不唯一分界線——--------------------------------------------分界線

要輸出所有的拓撲排序肯定要嘗試所有的順序

這裡用到的回溯很簡單,如果要詳細了解的話

最近事情比較多,沒什麼精力時間單獨寫一篇回溯的詳解

回溯dfs:

void

dfs(

int num,string s)

for(

int i=

1;i<=n;i++)if

(s.length()

>

0) s=s+

"->"

+itoa

(i);

else s+

=itoa

(i);

dfs(num+

1,s)

;//開始回溯

vis[i]=0

;for

(int j=e[i]

.first;j;j=e[j]

.next)

s=tem_s;}}

}

itoa自己寫的轉換函式

string itoa

(int x)

return s2;

}

找了個好理解的例子~

拓撲排序 輸出

拓撲排序 題目1449 確定比賽名次 時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 1879 解決 723 題目描述 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,...

輸出n以內所有的素數

目錄描述輸出n以內所有的素數。保證 n 是100以內的整數。樣例輸入 5 輸出 2,3,5 方法一 include include include using namespace std 判斷乙個整數是否為素數 bool isprime int n int num sqrt n 從 2,sqrt n...

所有的排序演算法總結

1.快排 時間複雜度o nlogn 最壞o n2 空間複雜度最好logn,最壞n void quick sort vector b,int l,int r b i base quick sort b,l,i 1 quick sort b,i 1,r 2.插入排序 o n2 穩定,原地排序 void ...