聲明:圖論中的算法基本都是提出後,通過檢驗的.我就不討論算法很基礎的原理,只是從看懂一個算法的角度去學習.本着不花時間去重複別人優秀工做的原則,本文中不少部分引用了別人的工做,甚至是照搬過來,由於我以爲算法這東西已經相似真理
,證實不須要你,你能夠看得懂,別人也能夠,只是表達方式不一樣,別人有優秀的表達方式,我爲何不用呢!html
如認爲侵權,可聯繫刪除!算法
目錄:網絡
這個問題是基於一個現實生活中的事例:當時東普魯士柯尼斯堡(今日俄羅斯加里寧格勒)市區跨普列戈利亞河兩岸,河中心有兩個小島。小島與河的兩岸有七條橋鏈接。在全部橋都只能走一遍的前提下,如何才能把這個地方全部的橋都走遍?學習
摘自:優化
哈密頓圖是一個無向圖,由指定的起點前往指定的終點,途中通過全部其餘節點且只通過一次。code
哈密頓迴路: 閉合的哈密頓路徑稱做哈密頓迴路
哈密頓路徑: 含有圖中全部頂點的路徑稱做哈密頓路徑。orm
摘自:htm
百度百科-哈密頓迴路blog
最小生成樹是一副連通加權無向圖中一棵權值最小的生成樹。具體定義爲: 在一給定的無向圖 G = (V, E) 中,(u, v) 表明鏈接頂點 u 與頂點 v 的邊(即 ( u , v ) ∈ E ,而 w(u, v) 表明此邊的權重,若存在 T 爲 E 的子集(即 T ⊆ E 且 (V, T) 爲樹,使得下面的值最小.
能夠描述爲如下問題,有一個有權無向圖,找到路徑把全部頂點連起來,並保證邊上權重和最小. 因此最小生成樹也稱爲:最小權重生成樹
一個連通圖可能有多個生成樹。當圖中的邊具備權值時,總會有一個生成樹的邊的權值之和小於或者等於其它生成樹的邊的權值之和。廣義上而言,對於非連通無向圖來講,它的每一連通份量一樣有最小生成樹,它們的並被稱爲最小生成森林。
以有線電視電纜的架設爲例,若只能沿着街道佈線,則以街道爲邊,而路口爲頂點,其中必然有一最小生成樹能使佈線成本最低。
摘自:
也稱中國郵遞員問題,此問題爲在一個連通的無向圖中找到一最短的封閉路徑,且此路徑需經過全部邊至少一次。
注意:下面有一個旅行商問題
是通過全部點一次,和這個邊不一樣.
簡單來講,郵遞員問題就是在一個已知的地區,郵差要設法找到一條最短路徑,能夠走過此地區全部的街道,且最後要回到出發點.
摘自:
最短路徑問題是圖論研究中的一個經典算法問題,旨在尋找圖(由結點和路徑組成的)中兩結點之間的最短路徑。算法具體的形式包括:
肯定起點的最短路徑問題 - 即已知起始結點,求最短路徑的問題。適合使用Dijkstra算法。
肯定終點的最短路徑問題 - 與肯定起點的問題相反,該問題是已知終結結點,求最短路徑的問題。在無向圖中該問題與肯定起點的問題徹底等同,在有向圖中該問題等同於把全部路徑方向反轉的肯定起點的問題。
肯定起點終點的最短路徑問題 - 即已知起點和終點,求兩結點之間的最短路徑。
全局最短路徑問題 - 求圖中全部的最短路徑。適合使用Floyd-Warshall算法。
用於解決最短路徑問題的算法被稱作「最短路徑算法」,有時被簡稱做「路徑算法」。最經常使用的路徑算法有:
Dijkstra算法
A*算法
Bellman-Ford算法
SPFA算法(Bellman-Ford算法的改進版本)
Floyd-Warshall算法
Johnson算法
Bi-Direction BFS算法
摘自:
斯坦納樹問題是組合優化問題,與最小生成樹類似,是最短網絡的一種。最小生成樹是在給定的點集和邊中尋求最短網絡使全部點連通。而最小斯坦納樹容許在給定點外增長額外的點,使生成的最短網絡開銷最小。
展現問題,以供理解:
1.平原上的三個城鎮間要興建一個公用的煤氣供應站,在選址問題上,要考慮的主要問題是使由供應站到三個城鎮的輸送管道的總長最短。如何去尋找合適地點?
2.倘若要建的是一個垃圾處理站,要修建三條公路將垃圾站與三個城鎮連起來。這時,由於三個城鎮的居民的數目或工業性質等的不一樣,天天運送垃圾使用的車輛數目各不相同,運輸的費用也就各異。所以,選取地點時,若是仍考慮使三條公路的總長最小,就不合理了。這時應該考慮:先計算出三個城鎮單位時間內生產的垃圾數量的百分比(或每日運輸費用的百分比),如何選取地點,使得每一個城鎮垃圾運輸數量與公路里程的乘積之和爲最小。
摘自:
假設有一個旅行商人要拜訪n個城市,他必須選擇所要走的路徑,路徑的限制是每一個城市只能拜訪一次,並且最後要回到原來出發的城市。路徑的選擇目標是要求得的路徑路程爲全部路徑之中的最小值。
注意:上面有一個中國郵路問題
是通過全部邊一次,和這個點不一樣.
摘自:
在優化理論中,最大流問題涉及到在一個單源點、單匯點的網絡流中找到一條最大的流。
最大流問題能夠被看做是一個更復雜的網絡流問題的特殊狀況,。s-t流(從源點s到匯點t)的最大值等於s-t割的最小容量,這被稱爲最大流最小割定理。
最小費用最大流問題: 在一個網絡中每段路徑都有「容量」和「費用」兩個限制的條件下,此類問題的研究試圖尋找出:流量從A到B,如何選擇路徑、分配通過路徑的流量,能夠達到所用的費用最小的要求。
在實際中:n輛卡車要運送物品,從A地到B地。因爲每條路段都有不一樣的路費要繳納,每條路能容納的車的數量有限制,如何分配卡車的出發路徑能夠達到費用最低,物品又能所有送到。
摘自:
每一個無外飛地的地圖均可以用很少於四種顏色來染色,並且不會有兩個鄰接的區域顏色相同
外飛地:某國家擁有一塊與本國分離開來的領土,該領土被其餘國家包圍,則該領土稱爲某國的外飛地。
摘自: