青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 12,  comments - 10,  trackbacks - 0

【圖論】

 1、Dijkstra算法
 2、Floyd算法
 3、Kruskal算法
 4、Prim算法
 5、歐拉回路

Dijkstra算法
Dijkstra算法是典型最短路算法,用于計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra算法能得出最短路徑的最優解,但由于它遍歷計算的節點很多,所以效率低。
Dijkstra算法是很有代表性的最短路算法,在很多專業課程中都作為基本內容有詳細的介紹,如數據結構,圖論,運籌學等等。
Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN, CLOSE表方式,Drew為了和下面要介紹的 A* 算法和 D* 算法表述一致,這里均采用OPEN,CLOSE表的方式。

大概過程:
創建兩個表,OPEN, CLOSE。
OPEN表保存所有已生成而未考察的節點,CLOSED表中記錄已訪問過的節點。
1. 訪問路網中里起始點最近且沒有被檢查過的點,把這個點放入OPEN組中等待檢查。
2. 從OPEN表中找出距起始點最近的點,找出這個點的所有子節點,把這個點放到CLOSE表中。
3. 遍歷考察這個點的子節點。求出這些子節點距起始點的距離值,放子節點到OPEN表中。
4. 重復2,3,步。直到OPEN表為空,或找到目標點。

 

 

Floyd算法
Floyd-Warshall 算法用來找出每對點之間的最短距離。它需要用鄰接矩陣來儲存邊,這個算法通過考慮最佳子路徑來得到最佳路徑。

注意單獨一條邊的路徑也不一定是最佳路徑。

從任意一條單邊路徑開始。所有兩點之間的距離是邊的權,或者無窮大,如果兩點之間沒有邊相連。
對于每一對頂點 u 和 v,看看是否存在一個頂點 w 使得從 u 到 w 再到 v 比己知的路徑更短。如果是更新它。
不可思議的是,只要按排適當,就能得到結果。
// dist(i,j) 為從節點i到節點j的最短距離
For i←1 to n do
For j←1 to n do
dist(i,j) = weight(i,j)

For k←1 to n do // k為“媒介節點”
For i←1 to n do
For j←1 to n do
if (dist(i,k) + dist(k,j) < dist(i,j)) then // 是否是更短的路徑?
dist(i,j) = dist(i,k) + dist(k,j)這個算法的效率是O(V3)。它需要鄰接矩陣來儲存圖。
這個算法很容易實現,只要幾行。
即使問題是求單源最短路徑,還是推薦使用這個算法,如果時間和空間允許(只要有放的下鄰接矩陣的空間,時間上就沒問題)。
[編輯] 時間復雜度 O(N^3)

 

 

Kruskal算法
基本思想
假設WN=(V,{E})是一個含有n個頂點的連通網,則按照克魯斯卡爾算法構造最小生成樹的過程為:先構造一個只含n個頂點,而邊集為空的子圖,若將該子圖中各個頂點看成是各棵樹上的根結點,則它是一個含有n棵樹的一個森林。之后,從網的邊集E中選取一條權值最小的邊,若該條邊的兩個頂點分屬不同的樹,則將其加入子圖,也就是說,將這兩個頂點分別所在的兩棵樹合成一棵樹;反之,若該條邊的兩個頂點已落在同一棵樹上,則不可取,而應該取下一條權值最小的邊再試之。依次類推,直至森林中只有一棵樹,也即子圖中含有n-1條邊為止。</p>

Procedure kruskal(V,E);
begin
sort(E,1,m);//將邊按照權值排序
for t:=1 to n do begin
if getfather(edge[t].u)<>getfather(edge[t].v) then begin //利用并查集判斷兩個頂點是否在同一集合內
tot:=tot+edge[t].data;//計算權值和
union(edge[t].u,edge[t].v);//合并頂點
inc(k);//合并次數
end;
end;
if k=n-1 then 形成了一棵最小生成樹
else 不存在這樣的最小生成樹;
end;
優化:在判斷兩個頂點是否在同一集合內時可用并查集  

 


Prim算法

基本思想
1. 在圖G=(V, E) (V表示頂點 ,E表示邊)中,從集合V中任取一個頂點(例如取頂點v0)放入集合 U中,這時 U={v0},集合T(E)為空。
2. 從v0出發尋找與U中頂點相鄰(另一頂點在V中)權值最小的邊的另一頂點v1,并使v1加入U。即U={v0,v1 },同時將該邊加入集合T(E)中。
3. 重復2,直到U=V為止。
這時T(E)中有n-1條邊,T = (U, T(E))就是一棵最小生成樹。

PASCAL代碼
procedure prim(v0:integer);
var
lowcost,closest:array[1..maxn] of integer;
i,j,k,min:integer;
begin
for i:=1 to n do begin
lowcost[i]:=cost[v0,i];
closest[i]:=v0;
end;
for i:=1 to n-1 do begin
{尋找離生成樹最近的未加入頂點k}
min:=maxlongint;
for j:=1 to n do
if (lowcost[j]<min) and (lowcost[j]<>0) then begin
min:=lowcost[j];
k:=j;
end;
lowcost[k]:=0; {將頂點k加入生成樹}
{生成樹中增加一條新的邊k到closest[k]}
{修正各點的lowcost和closest值}
for j:=1 to n do
if cost[k,j]<lowcost[j] then begin
lowcost[j]:=cost[k,j];
closest[j]:=k;
end;
end;

end;{prim}

〖返回頂部〗

 

歐拉回路
定義:
在一個圖中,尋找一條只通過每條邊一次的路徑,這叫做歐拉路徑,如果起點和終點是同一點,那么這條回路叫做歐拉回路.
判定一個圖中是否存在歐拉回路:并不是每個圖都存在歐拉回路.以下分三種情況:
無向圖:每個點的度數是偶數,則存在歐拉回路.
有向圖:每個結點的入度等于出度,則這個有向圖中存在歐拉回路.
總結:以上兩種情況很簡單,其原理歸根結底是每個結點進入和出去的路徑條數相等,就存在歐拉回路.還有一種更加復雜的情況.那就是混合圖.
混合圖:(有時邊是單向的,有時邊是無向的,就像城市交通網絡,有的街道是單向的,有的街道是雙向的)找一個給每個無向邊定向的策略,這樣就可以把圖轉化成為有向圖,使每個頂點的入度與出度是相等的,這樣就會存在歐拉回路.
具體過程如下:新建一個圖,對于原圖中的無向邊,在新圖中新加一個頂點e(i);對于原圖中的每一個頂點j,在新圖中建一個頂點v(i),對于原圖中每一個頂點j和k之間有一條無向邊i,那么在新圖中從e(i)出發,添加兩條邊,分別連向v(j)和v(k),容量都是1.
在新圖中,從源點向所有的e(i)都連一條容量為1的邊.. 對于原圖中每一個頂點j,它原本都有一個入度in、出度out和無向度un。顯然我們的目的是要把所有無向度都變成入度或出度,從而使它的入度等于總度數的一半,也就是(in + out + un) / 2(顯然與此同時出度也是總度數的一半,如果總度數是偶數的話)。當然,如果in已經大于總度數的一半,或者總度數是奇數,那么歐拉回路肯定不存大。如果in小于總度數的一半,并且總度數是偶數,那么我們在新圖中從v(j)到匯點連一條邊,容量就是(in + out + un) / 2 – in,也就是原圖中頂點j還需要多少入度。
按照這個網絡模型算出一個最大流,如果每條從v(j)到匯點的邊都達到滿流量的話,那么歐拉回路成立。

〖返回頂部〗

posted on 2009-05-18 11:06 zhoubaozhong 閱讀(263) 評論(0)  編輯 收藏 引用
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用鏈接

留言簿(3)

隨筆檔案

杭電!!

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久亚洲高清| 亚洲综合电影| 欧美先锋影音| 日韩视频免费观看高清在线视频 | 欧美大片一区二区三区| 国产精品中文字幕欧美| 亚洲小说欧美另类社区| 欧美一二三区在线观看| 韩国成人精品a∨在线观看| 久久九九国产| 最新国产の精品合集bt伙计| 亚洲另类春色国产| 国产精品成人aaaaa网站| 性欧美videos另类喷潮| 久久久久久久久久久久久9999| 亚洲欧美一区二区三区久久| 久久蜜桃精品| 亚洲欧洲视频| 欧美性片在线观看| 欧美国产日韩精品| 91久久精品美女| 国产精品国产成人国产三级| 久久精品亚洲一区| 99re6热只有精品免费观看| 久久av资源网站| 99riav1国产精品视频| 国产精品色在线| 免费久久99精品国产自| 国产日韩亚洲欧美综合| 一区二区三区成人精品| 久久麻豆一区二区| 99成人在线| 狠狠综合久久av一区二区老牛| 欧美日韩情趣电影| 老鸭窝毛片一区二区三区| 亚洲一区二区免费视频| 亚洲国产精品va在看黑人| 久久都是精品| 一本色道88久久加勒比精品| 在线观看中文字幕不卡| 国产精品久久久久aaaa| 欧美精品精品一区| 免费不卡亚洲欧美| 欧美一区亚洲二区| 亚洲男同1069视频| 亚洲乱码国产乱码精品精| 久久一区中文字幕| 午夜欧美大片免费观看| 一区二区三区四区在线| 依依成人综合视频| 国产精品午夜av在线| 欧美国产日韩精品免费观看| 久久视频一区二区| 久久久久国产一区二区三区| 欧美一区三区二区在线观看| 国产精品99久久不卡二区| 最新成人av网站| 亚洲国产精品久久| 另类激情亚洲| 麻豆精品精华液| 欧美电影免费观看高清完整版| 欧美不卡在线视频| 久久综合国产精品| 久久午夜电影网| 久久午夜视频| 欧美成人蜜桃| 免费不卡亚洲欧美| 久久久久久自在自线| 欧美一级播放| 午夜精品影院在线观看| 亚洲欧美日韩中文视频| 亚洲一区二区免费视频| 午夜精品在线看| 久久精品一区二区三区中文字幕 | 国内成+人亚洲| 国语自产精品视频在线看8查询8| 国产亚洲人成网站在线观看 | 亚洲人成网在线播放| 99re6热在线精品视频播放速度| 免费在线亚洲欧美| 亚洲看片免费| 亚洲视频播放| 欧美一区二区视频在线观看| 久久久精品国产一区二区三区| 久久精品视频免费播放| 欧美1区2区3区| 一本色道88久久加勒比精品| 美女视频黄免费的久久| 欧美高清在线一区| 亚洲精选国产| 欧美一级理论性理论a| 久久综合九色欧美综合狠狠| 欧美日韩成人综合在线一区二区| 国产精品系列在线| 亚洲国产日韩欧美在线动漫| 99热在这里有精品免费| 欧美专区在线观看| 亚洲第一级黄色片| 日韩视频一区二区三区在线播放免费观看 | 在线一区二区三区四区五区| 欧美一区二区福利在线| 米奇777在线欧美播放| 国产精自产拍久久久久久| 亚洲精品一区二区在线| 久久精品成人一区二区三区 | 亚洲愉拍自拍另类高清精品| 久久一区二区三区av| 亚洲看片一区| 久久综合色影院| 国产日韩欧美亚洲| 亚洲精一区二区三区| 久久综合激情| 亚洲欧美日韩视频二区| 欧美日韩国产成人在线免费| 精品电影在线观看| 午夜精品久久久久久久男人的天堂 | 在线不卡免费欧美| 午夜精品久久久久久久久久久 | 乱码第一页成人| 亚洲女爱视频在线| 国产精品扒开腿爽爽爽视频| 亚洲人成网站777色婷婷| 裸体女人亚洲精品一区| 久久伊人一区二区| 亚洲福利视频一区| 亚洲国产欧美一区二区三区同亚洲| 国产午夜精品美女毛片视频| 亚洲国产99精品国自产| 亚洲欧美第一页| 亚洲高清资源综合久久精品| 欧美在线三区| 国产精品一区二区你懂的| 亚洲精品网站在线播放gif| 久久成人一区二区| 99精品国产高清一区二区| 久久精品99国产精品酒店日本| 欧美精选午夜久久久乱码6080| 激情婷婷久久| 久久青草欧美一区二区三区| 午夜电影亚洲| 国产欧美精品一区aⅴ影院| 亚洲欧美国产一区二区三区| 亚洲老板91色精品久久| 欧美成人一区二区三区| 欧美精品成人在线| 欧美一区二区三区精品电影| 麻豆成人小视频| 国产一区免费视频| 午夜精品一区二区在线观看| 一本色道久久综合亚洲91| 欧美日韩国产页| 亚洲无毛电影| 亚洲一区二区3| 国产伦精品一区二区三区| 久久精品国产第一区二区三区最新章节 | 亚洲一区视频在线观看视频| 一区二区三区日韩欧美精品| 国产精品伊人日日| 久久久久国产精品www| 久久欧美中文字幕| 最新高清无码专区| 一本久久综合亚洲鲁鲁| 国产精品亚洲аv天堂网| 久久久一区二区| 欧美高清在线播放| 亚洲尤物影院| 久久嫩草精品久久久精品| 日韩小视频在线观看专区| aa国产精品| 狠狠狠色丁香婷婷综合久久五月| 欧美国产精品久久| 国产精品国产三级国产aⅴ9色| 久久久久久久久久久久久女国产乱| 另类图片综合电影| 午夜综合激情| 亚洲精品一区二区在线| 午夜精品视频在线观看| 久久gogo国模啪啪人体图| 亚洲精品美女| 午夜精品国产更新| 亚洲麻豆一区| 久久久久免费视频| 亚洲小视频在线| 久久久一区二区三区| 亚洲欧美日韩爽爽影院| 麻豆精品精华液| 久久精品欧美| 国产精品美女久久久| 欧美夫妇交换俱乐部在线观看| 国产精品区二区三区日本| 亚洲人成久久| 亚洲成人自拍视频| 久久国产精品久久久久久电车| 一区二区三区四区蜜桃| 蜜桃精品一区二区三区| 久久九九免费视频| 国产欧美一区二区精品仙草咪 | 日韩午夜激情av| 亚洲国产你懂的| 久久精品一二三区|