確實只需要一些指導: 通過圓弧定義的拓撲排序(從我的問題) - 是對方向圖中的所有圓弧進行排序的一種方式,因此插入到頂點的所有圓弧必須先於從這個頂點出來。通過圓弧進行拓撲排序
1
A
回答
3
無需在拓撲排序中改變任何東西,你可以使用它和後期處理。
高電平僞代碼:
- 運行拓撲排序,讓所得到的數組是
arr
- 創建空邊緣列表中,讓它成爲
l
在
- 爲每個頂點
v
:
3.1。對於每個(v,u)
inE
:
3.1.1。追加(v,u) to l
- 回報
l
arr
[有序迭代]
這種方法的好處是,你可以使用拓撲排序爲黑盒,而無需修改它,只是後期處理,以獲得所需的結果。
正確性 [證明的草圖]:
由於每個邊緣(v,u)
- u
顯示在拓撲排序v
後,在打印它,它是通過v
完成,並且因此(v,u)
打印任何頂點之前被印刷附於u
。
複雜: O(|V|+|E|)
拓撲排序,O(|V|+|E|)
用於後處理[迭代的所有頂點和所有邊緣。
0
相關問題
- 1. 拓撲排序
- 2. 拓撲排序僞
- 3. 拓撲排序Neo4j
- 4. 拓撲排序和循環
- 5. 拓撲排序變體
- 6. 穩定拓撲排序
- 7. 拓撲圖排序java
- 8. 拓撲排序asm x86
- 9. 拓撲使用排序DFS
- 10. 是拓撲排序嘗試對頂點或邊進行排序嗎?
- 11. 拓撲排序的C++實現
- 12. 排序(拓撲)maven依賴關係
- 13. 拓撲排序(卡恩算法)麻煩
- 14. 圖表:拓撲排序,需要說明
- 15. 有向無環圖的拓撲排序
- 16. Dummies的迭代/動態拓撲排序
- 17. 使用合金4.2的拓撲排序
- 18. 使用拓撲排序計算路徑
- 19. 在Spark GraphX中實現拓撲排序
- 20. 通過REST API部署Storm拓撲
- 21. 排序和拓撲排序有什麼區別?
- 22. PHP排序依賴項數組列表 - 拓撲排序
- 23. 僅在通過給定頂點連接的頂點的拓撲排序圖上
- 24. 拓撲排序不像預期的那樣運行
- 25. 拓撲JavaScript庫
- 26. 拓撲,縮放
- 27. 機架拓撲
- 28. 與拓撲
- 29. RIght ZeroMQ拓撲
- 30. 快速拓撲排序,當節點順序顯着時?
是的,大O是一樣的,但你必須做兩倍的工作量... – tchap 2012-03-25 22:38:17
@OndrejKupka:的確,常數會高於修改拓撲排序[雖然不是雙倍,我相信由於緩存性能],但爲了**封裝**拓撲排序的好處。 [這是非常重要的方面!]。在實際應用中,*如果您發現這部分是熱點*,您可能會想要重寫它,並表示同意。 – amit 2012-03-25 22:49:05
是的,把這麼多的代碼拷貝一空並不實際。 – tchap 2012-03-25 22:57:19