圖算法初步總結

主要是對圖算法作一總結.算法

  1. 最基本的圖算法思想是dfs和bfs,dfs組要是用於考察圖的結構時使用而bfs通常用於求解無權最短路徑問題.shell

  2. 拓撲排序依賴於dfs算法,拓撲排序能夠解決事件依賴關係,強連通分支問題以及單源最短路徑問題.閉包

  3. 歐拉回路能夠使用dfs解決.spa

  4. 漢密爾頓迴路的存在性能夠用拓撲排序解決.
    排序

  5. 強連通分支問題的解法能夠使用拓撲排序的解法,也能使用tarjan,二者都會用到dfs.事件

  6. 最小生成樹問題能夠使用kruskal或者prim來解決.擴展

  7. 單源最短路徑問題能夠使用Bellman-ford或者dijkstra來解決,但dijkstra不能解決負權環問題,二者都依賴於路徑路徑鬆弛技術.無環路圖能夠使用拓撲排序對Bellman-ford解法提速.搜索

  8. 單源最短路徑問題也能夠擴展來解決差分式約束系統.
    im

  9. 多源最短路徑能夠使用矩陣乘法或者Floyd-warshell來解決,二者都是動態規劃解法.技術

  10. 閉包傳遞問題的思想是若是隻考慮是否可到,那麼就能夠將路徑是否可達用0,1表示,經過與或運算來進行路徑是否可達的遞推。根本的解法仍是依賴於前面的算法.

  11. 此外,對於不一樣場景使用回溯來減小路徑搜索很重要.

相關文章
相關標籤/搜索