版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2-6圖
*圖比樹(shù)更復(fù)雜、更一般,樹(shù)是一種簡(jiǎn)單的圖。
*圖的應(yīng)用-一范圍非常廣,如語(yǔ)言學(xué)、邏輯學(xué)、數(shù)
學(xué)、物理、化學(xué)、計(jì)算機(jī)科學(xué)以及各種工程學(xué)科
領(lǐng)域。
*在圖中,結(jié)點(diǎn)之間的關(guān)系可以是任意的多對(duì)多的關(guān)
系。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
261畫(huà)的定義及基建術(shù)語(yǔ)
1.圖的定義無(wú)向圖
1)圖:由頂
G=(V,R),
其中V={V1,v2,...,vn},是頂點(diǎn)的非空有限集合;
R={<vi,Vj>},是頂點(diǎn)的有序?qū)Γ?/p>
或{(Vj,Vj)},是頂點(diǎn)的無(wú)序?qū)Α?/p>
2)無(wú)向圖:當(dāng)圖中頂點(diǎn)間的關(guān)系為無(wú)序?qū)Α?/p>
(V],V,二(vj,vj,稱為邊Eo
無(wú)向圖記作:G二(V,E),
例如上圖:G1=(V,E),V(G1)={1,2,3,4,5)
E(G1)={(1,2),(1,3),(1,4),(2,3),(3,5)}
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2.6圖
261囹的定義及基建術(shù)語(yǔ)
3)有向圖:圖中頂點(diǎn)間的關(guān)系為有序?qū)?/p>
'<vi?Vj>稱為弧A,?------?
注意:<Vj,Vj>W〈Vj,V。,弧尾弧頭
有向圖記作:G二(V,A),
例如右圖:
G2=(V,A),
V(G2)={1,2,3,4,5,6)
A(G2)={<1,2>,<2,1>,<2,4>,<2,3>,<3,5>,<5,6>,<6,3>}
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2.6圖
261囹的定義及基建術(shù)語(yǔ)
4)網(wǎng):若圖中每一條邊附有反映該邊特征的數(shù)據(jù),則
稱為網(wǎng),與邊相關(guān)的數(shù)據(jù)稱為權(quán)。
邊上帶權(quán)的無(wú)向圖稱為無(wú)向網(wǎng)。
弧上帶權(quán)的有向圖稱為有向網(wǎng)。
有向網(wǎng)
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
261畫(huà)的定義及基中術(shù)語(yǔ)
2.圖的基本術(shù)語(yǔ)
1)子圖:兩個(gè)圖G和G',G=(V,E),G5=(V5,E5)
右'憶'=『和E'三E
則稱G,為G的子圖。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2?6圖
2.6.1畫(huà)的定義及基本術(shù)語(yǔ)
2)度、入度和出度:
度:無(wú)向圖中,與某個(gè)頂點(diǎn)相連的邊的數(shù)目“
入度:有向圖中,以某個(gè)頂點(diǎn)為頭的弧的數(shù)目。
出度:以某個(gè)頂點(diǎn)為尾的弧的數(shù)目。
有向圖
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2?6圖
2.6.1畫(huà)的定義及基本術(shù)語(yǔ)
例:有N個(gè)頂點(diǎn)的有向圖中,每個(gè)頂點(diǎn)的度最大可達(dá)
多少?
2(N-1)
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
路徑:在無(wú)向圖中,從頂點(diǎn)Vp到Vq的路徑----
是頂點(diǎn)序列(Vp,Vj],V⑵…,Vjk,Vq),且(vp,Vj]),
(vn,vi2),(Vjk,Vp)均是E中的邊。
有向路徑:在有向圖中,由頂點(diǎn)的弧組成。
路徑長(zhǎng)度:路徑上邊或弧的數(shù)目。
網(wǎng)的路徑長(zhǎng)度--路徑上權(quán)值的和。
簡(jiǎn)單路徑:除第一個(gè)和最后一個(gè)頂點(diǎn)外,序列中其余
頂點(diǎn)各不相同的路徑。
簡(jiǎn)單回路:第一個(gè)頂點(diǎn)和最后一個(gè)頂點(diǎn)相同的簡(jiǎn)單路徑。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2.6.1畫(huà)的是G
4)連通圖和連通
連通圖(a)非連通圖(b)
在無(wú)向圖G中:
連通:若從頂點(diǎn)Vj到Vj存在路徑,則稱Vj和Vj是連通的。
連通圖:頂點(diǎn)集合V中任意兩個(gè)頂點(diǎn)Vj和Vj都連通,.
則稱G為連通圖。
連通分量:G中的極大連通子圖稱為該圖的連通分量。
如上圖,(a)為連通圖,(b)不是連通圖,但它有3個(gè)
連通分量:G]、G2>G3
注意:連通圖只有一個(gè)連通分量,即本身。
非連通圖有多個(gè)連通分量
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
261畫(huà)的定文及基中術(shù)語(yǔ)
5)強(qiáng)連通圖和強(qiáng)連通分量:(對(duì)于有向圖定義)
在有向圖G中:
連通:從頂點(diǎn)Vj到Vj有路徑,則稱從Vj到Vj是連通的。
強(qiáng)連通圖:任意兩個(gè)頂點(diǎn)Vi和Vj都連通,
則稱G為強(qiáng)連通圖。
強(qiáng)連通分量:G中的極大強(qiáng)連通子圖稱為該圖的
強(qiáng)連通分量。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
262圉的落儲(chǔ)秸構(gòu)
1.鄰接矩陣(表示頂點(diǎn)之間的關(guān)系)
有n個(gè)頂點(diǎn)的圖G二(V,E),可用nXn的矩陣來(lái)表示,
矩陣元素為:
I若(Vj,Vj)或〈Vj,Vj〉是E中的邊或弧
W]={-
I0反之
若G是網(wǎng),則鄰接矩陣中每個(gè)元素定義為:
若(Vj,Vj)或<Vj,Vj〉是E中的邊或弧
4比月=f-、
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
例:
有向圖無(wú)向圖有向網(wǎng)
r
1110、0270019210’080006400
0100270560110000310600
10010501000003000000
0000061000140032440000
19000070000018058
V0X1V0nJ3318
21110143300750043000
lo0001800>100006900
無(wú)向圖和無(wú)向網(wǎng)的鄰接矩陣為對(duì)稱矩陣。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
262圉的落儲(chǔ)秸構(gòu)
2.鄰接表
*鄰接表是圖的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),在鄰接表
中,對(duì)圖中每個(gè)頂點(diǎn)建立一個(gè)單鏈表,并將它
們的表頭指針用向量存儲(chǔ)(鄰接向量)。
*第i個(gè)單鏈表中的結(jié)點(diǎn)依附于頂點(diǎn)vi的邊(有
向圖為弧),故其結(jié)點(diǎn)數(shù)等于vi的度(有向圖為
出度)。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
2624的落儲(chǔ)秸構(gòu)
*鏈結(jié)點(diǎn)結(jié)構(gòu):
表結(jié)點(diǎn)頭結(jié)點(diǎn)
adjvexdatanextarcvexdatafirarc
adjvex:鄰接域,存儲(chǔ)鄰接頂點(diǎn)
vexdata:數(shù)據(jù)域,存儲(chǔ)Vj
的序號(hào);
信息;
data:數(shù)據(jù)域,存儲(chǔ)和邊或弧的
firarc:鏈域,指向表中
權(quán)值信息;
第一個(gè)結(jié)點(diǎn)。
nextarc:鏈域指示下一條邊或弧
公的結(jié)點(diǎn)
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2
1
2
1A
3A
4A
1A
519621A
3546
410A
310614A
633718A
211414—?533A
f
1280—?564A
2f431―?660A
3-?230A
4->232—?344A
5f170―?6180—?
6f175―?443A
7f569A
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2?6圖
262圉的落儲(chǔ)秸構(gòu)
注意:'
條表頭結(jié)點(diǎn)有序,以向量存儲(chǔ)(鄰接向量);
*無(wú)向圖的鄰接矩陣唯一,但其鄰接表不唯一
(次序與鄰接表建立時(shí)輸入次序有關(guān));
*對(duì)于無(wú)向圖,n個(gè)頂點(diǎn),e條邊,有n個(gè)表頭
結(jié)點(diǎn),2e個(gè)表結(jié)點(diǎn),空間復(fù)雜度為O(n+e);
*n個(gè)頂點(diǎn)的無(wú)向圖至多n(nT)/2條邊(完全
圖)。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算m
2-6圖
263囹的遍歷
從圖的某一頂點(diǎn)出發(fā),沿某條路徑,依次對(duì)其
余頂點(diǎn)進(jìn)行訪問(wèn),為了避免重復(fù)訪問(wèn),設(shè)一個(gè)
輔助數(shù)組visited[n]:
felse,初值,未訪問(wèn)
visited[z]=
tureL_jUjI口J
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
2.6.3囹的遍歷
L深度優(yōu)先搜索(DFS):樹(shù)的前序遍歷推廣
1)基本思想:從圖的某一個(gè)頂點(diǎn)V。出發(fā)進(jìn)行遍歷,
首先訪問(wèn)起始點(diǎn)V。,然后選擇V。的一個(gè)尚未訪問(wèn)過(guò)
的鄰接點(diǎn)W,從w出發(fā)繼續(xù)深度優(yōu)先搜索,即訪問(wèn)W
之后選擇W的一個(gè)尚未訪問(wèn)過(guò)的鄰接點(diǎn)作為出發(fā)點(diǎn)
繼續(xù)作深度優(yōu)先搜索,直到被訪問(wèn)的頂點(diǎn)其鄰接點(diǎn)
均被訪問(wèn)過(guò)為止,這時(shí)需要回溯到該頂點(diǎn)訪問(wèn)前的
頂點(diǎn),繼續(xù)訪問(wèn)其尚未訪問(wèn)的鄰接點(diǎn)。這樣不斷回
溯,直到回溯到起始點(diǎn)V。,使所有和V。有路徑相通
的頂點(diǎn)都被訪問(wèn)到為止。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2.6圖
2.6.3囹的遍歷
2)算法描述:以鄰接矩陣作為圖的存儲(chǔ)結(jié)構(gòu)
DFS(A,n,v)
{
visit(v);〃訪問(wèn)頂點(diǎn)v
visited[v]<-TRUE;//置已訪問(wèn)標(biāo)志
for(j=1;j〈二n;j++)
if(A[v][j]==l&&!visited[j])
DFS(A,n,j);
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
例:
(a)(b)
圖(a):vl,v2,v3,v5,v4v3,vl,v2,v4,v5
v2,vl,v3,v5,v4v4,vl,v2,v3,v5
圖(b):vl,v2,v3,v6,v5,v7,v8,v4,v9
v9,v4,vl,v2,v3,v6,v5,v7,v8
v3,vl,v2,v4,v9,v6,v5,v7,v8
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
2.6.3囹的遍歷
2.廣度優(yōu)先搜索(BFS)(類似于樹(shù)的層次遍歷)
1)基本思想:訪問(wèn)了起始點(diǎn)V。之后,首先依次訪
問(wèn)V。的各個(gè)鄰接點(diǎn),然后再依次訪問(wèn)這些頂點(diǎn)中未
被訪問(wèn)過(guò)的鄰接點(diǎn),以此類推,直到所有被訪問(wèn)到
的頂點(diǎn)的鄰接點(diǎn)都被訪問(wèn)過(guò)為止。
2)算法描述:為了搜索需要,應(yīng)設(shè)置一個(gè)循環(huán)隊(duì)
歹U,存放已被訪問(wèn)過(guò)的頂點(diǎn)。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算m
2-6圖
2.6.3囹的遍歷
BFS(AdjList,n,v)
(
訪問(wèn)頂點(diǎn)v;visited[v]=TRUE;
front=n-l;rear=O;CQ[rear]=v;
while(rear!=front){
front=(front+l)%n;v=CQ[front];
p=AdjList[v].firarc;
while(p!二NULL){
if(!visited[p->adjvex]){
訪問(wèn)p->adjvex;visited[p->adjvex]=TRUE;
rear-(rear+1)%n;CQ[rear]=p->adjvex;
)
p=p->nextarc;
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
263囹的遍歷
圖(b):vl,v2,v3,v4,v6,v9,v5,v7,v8
v9,v4,vl,v2,v3,v6,v5,v7,v8
2-6圖
263囹的遍歷
例:
DFS:vl,v2,v3,v6,v9,v5,v8,v4,v7
BFS:vl,v2,v4,v5,v3,v7,v6,v8,v9
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2.6圖
2.6.34的遍歷
3.復(fù)雜度分析
*空間復(fù)雜度:O(n)
*時(shí)間復(fù)雜度:
鄰接表:O(e),e為邊數(shù)
鄰接矩陣:。(標(biāo))
(0^第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算I<|A
2-6圖
264圉的應(yīng)用
1.單源最短路徑
1)問(wèn)題的提出
*背景:從一個(gè)給定的城市出發(fā),能否到
達(dá)其它各城市?走哪條路花費(fèi)最少?
*數(shù)據(jù)結(jié)構(gòu):用有向網(wǎng)表示,頂點(diǎn)表示城
市,弧代表路段,弧上的權(quán)值代表兩城市間的
距離或運(yùn)輸所需的代價(jià)。我們稱出發(fā)點(diǎn)為源點(diǎn),
其它點(diǎn)為終點(diǎn)。則問(wèn)題可描述為:從有向網(wǎng)的
源點(diǎn)到其它各終點(diǎn)有否路徑?最短路徑是什么?
最短路徑的長(zhǎng)度是多少?
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
*路徑的三種情況:
①?zèng)]有路徑;
②只有一條路徑,即為最短路徑;
③有多條路經(jīng),存在最短的。
設(shè)頂點(diǎn)v2為源點(diǎn),貝I」:
v2到v6:沒(méi)有路徑
v2到vl:只有一條,長(zhǎng)度35
v2到v4:有三條,最短為30
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
條定義:
給定有向圖網(wǎng)G=(V,A)和源點(diǎn)vO,求從vO到G
中其余各頂點(diǎn)的最短路徑。
例:以v6為源點(diǎn),則各最短路
5)徑為:
v6->vl:21(v6->v2->v3->vl)
v6->v2:5
v6->v3:12(v6->v2->v3)
v6->v4:25(v6->v4)
v6->v5:無(wú)路徑
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
123456
06OO8cDOO
1807OOOO10
9OO0158OO
264圉的OO8120OOOO
OOOO480OO
2)算法月6245OO25OO0
路徑〈V0,Vk>,從這些路徑中找出一條長(zhǎng)度最短
的路徑〈v0,u>,然后對(duì)其余各條路徑進(jìn)行適當(dāng)
調(diào)整:若在圖中存在?。║,Vk〉,且〈U,Vk〉和
<V0,U>兩條弧上權(quán)之和小于弧〈V。,Vk>的權(quán),則
以路徑(V0,U,Vk>代替〈V0,Vk>。在調(diào)整后的各
條路徑中,再找長(zhǎng)度最短的路徑,以此類推。
3)過(guò)程:
二①初始化
設(shè)AS[n][n]為有向網(wǎng)的帶權(quán)鄰接矩陣,
AS[i][j]表示弧〈Vj,Vj>上的權(quán)值,若〈Vj,V》
不存在,則為8
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
S:最短路徑的終點(diǎn)集合(初值為{v。})
DIST[n]:各終點(diǎn)當(dāng)前找到的最短路徑的長(zhǎng)度
(初始值為DIST[i]=AS[vo][i])
②選擇u,使得:
DIST[u]=mm{DIST[w]|w史工w£/}
S=SU{〃}
其中憶為有向圖的頂點(diǎn)集。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2?6圖
264畫(huà)的應(yīng)用
③對(duì)于所有不在S中的終點(diǎn)w,若:
DIST[u]+AS[u^]<DIST[w],則
DIST[w]=DIST[u]+AS[u][w]
④重復(fù)操作②、③共n-1次,可求得從V。到各終點(diǎn)的
最短路徑。
*幾個(gè)量的說(shuō)明:
S[n]:記錄了從源點(diǎn)出發(fā)的最短路徑的終點(diǎn)集合。
DIST[n]:記錄各終點(diǎn)當(dāng)前找到的最短路徑的長(zhǎng)度。
PATHM:PATH[i]表示從源點(diǎn)到頂點(diǎn)vi之間的最短路徑
N的前驅(qū)頂點(diǎn),初始值為源點(diǎn)vO,若不存在,則為空?!?/p>
少第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算<
264圉的
例:
DIST[1:6]PATH[1:6]
S123456123456
{6}245OO25OO0_6666
{6,2}2351225OO026266
{6,2,3}2151225OO0_3626|6
{623,1}2151225OO036266
{6,2,334}2151225OO036266
則輸出PATH和Distant:6->l:6->2->3->l21;6->2:6->25;
6->3:6->2->312;6->4:6->425;
石、6->5:無(wú)路徑;6->6:6->60;
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
2.拓?fù)渑判颍ˋOV網(wǎng),頂點(diǎn)表示活動(dòng)的有向網(wǎng))
1)問(wèn)題的描述:
*用有向圖描述工程的進(jìn)行過(guò)程,子工程稱為活動(dòng),
在圖中用頂點(diǎn)表示,兩頂點(diǎn)間的弧表示活動(dòng)間的優(yōu)先
關(guān)系,這種有向圖稱為作業(yè)活動(dòng)網(wǎng)或AOV網(wǎng)。
頂點(diǎn)i到頂點(diǎn)j有路徑,稱i是j的前驅(qū),j是i的后繼;
若從i到j(luò)只有一條弧,則稱i是j的直接前驅(qū),j是i的
直接后繼。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
引例:一個(gè)軟件專業(yè)學(xué)生學(xué)習(xí)課程
C1:程序設(shè)計(jì)先修無(wú)
C2:離散數(shù)學(xué)C1
C3:數(shù)據(jù)結(jié)構(gòu)ClC2
C4:匯編語(yǔ)言C1
C5:語(yǔ)言設(shè)計(jì)與分析C3C4
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
*拓?fù)溆行蛐蛄屑巴負(fù)渑判?/p>
死鎖-一在AOV網(wǎng)中不允許存在有向回路,否則
某項(xiàng)活動(dòng)的開(kāi)工將以自己工作的完成作為先決條
件,這種現(xiàn)象稱為死鎖。
拓?fù)溆行蛐蛄?-若有向圖中沒(méi)有回路出現(xiàn),則
可構(gòu)造得到包含有向圖中全部頂點(diǎn)的序列,這種
序列稱為拓?fù)溆行蛐蛄小?/p>
拓?fù)渑判?一對(duì)AOV網(wǎng)構(gòu)造拓?fù)溆行蛐蛄械牟僮?/p>
稱為拓?fù)渑判颉?/p>
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2)拓?fù)渑判蚍椒ǎ?/p>
①在有向圖中選取一個(gè)沒(méi)有前驅(qū)的頂點(diǎn)(入度為0)
輸出;
②在圖中刪除該頂點(diǎn)和以它為尾的所有弧。
③Repeat①,②,直到全部頂點(diǎn)輸出。(答案不唯一)
(0^第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2.6圖
264圉的應(yīng)用
可能的拓?fù)洌嚎赡艿耐負(fù)?
6->1->4->3->2->51->2->3->4->5
1->3->2->6->4->51->4->2->3->5
1->2->4->3->5
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
3)拓?fù)渑判虻泥徑颖砗玩湕?
頂入指
鄰接表,點(diǎn)度針
10
22A
31
AOV網(wǎng)42
53A
60
鏈棧:所有入度為零的頂點(diǎn)構(gòu)成一鏈棧
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
操作:①建立一個(gè)入度為0的頂點(diǎn)的棧;
②選取一個(gè)入度為0的頂點(diǎn)輸出;
③弧頭頂點(diǎn)的入度減1;
④Repeat①?③,直到全部頂點(diǎn)輸出
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2、0、1、3、4、50,2,1,3,4,5
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2?6圖
264圉的應(yīng)用
3.關(guān)鍵路徑(以邊表示活動(dòng)的網(wǎng):AOE)
1)問(wèn)題描述
*AOE網(wǎng):一個(gè)帶權(quán)的有向無(wú)環(huán)圖。
頂點(diǎn)V/表示事件
Mai:表示活動(dòng)
權(quán):表示活動(dòng)的持續(xù)時(shí)間。
源點(diǎn):一個(gè)入度為零的點(diǎn)(工程起點(diǎn),只有一個(gè))
匯點(diǎn):一個(gè)出度為零的點(diǎn)(工程結(jié)束,只有一個(gè))
*研究的問(wèn)題
①完成整個(gè)工程需要多少時(shí)間?
、②哪些活動(dòng)是影響工程進(jìn)度的關(guān)鍵?
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算m
2-6圖
264圉的應(yīng)用
*關(guān)鍵路徑:完成工程的最短時(shí)間是從源點(diǎn)到匯點(diǎn)的最長(zhǎng)
路徑長(zhǎng)度,這條最長(zhǎng)的路徑稱作關(guān)鍵路徑。
施事件vj最早發(fā)生時(shí)間ve(j):從ve(l)二0開(kāi)始向前遞推
ve(7)=Max{ve(z)+dut(<i〉j>)}
<i,j>eT,2<j<n
活動(dòng)aj由弧〈i,j>表示,其持續(xù)時(shí)間記為
dut?i,j?,T是所有以j為頭的弧的集合ai
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
*事件vj最遲發(fā)生時(shí)間vl(j):從vl(n)=ve(n)
開(kāi)始向后遞推
vl(7)=Min{vl(左)一dut(<j,k>)}
<j,k>GS,1<j<n—1▲
其中s是所有以j為尾的弧的集合[T二/,
注意:以上兩個(gè)遞推公式的計(jì)算必須在拓?fù)溆行蚝湍?/p>
拓?fù)溆行虻那疤嵯逻M(jìn)行,即:ve(j)必須在Vj的所有前
驅(qū)的最早發(fā)生時(shí)間求得之后才能確定,而vl(j)必須在
:'Vj的所有后繼的最遲發(fā)生時(shí)間之后才能確定。
y第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
*活動(dòng)最早開(kāi)始時(shí)間e(i):
e⑴二ve(j)
*活動(dòng)最遲開(kāi)始時(shí)間l(i):活動(dòng)ai最遲必須開(kāi)
始進(jìn)行的時(shí)間。
1(i)=vl(k)-dut(<j,k?―?
*關(guān)鍵活動(dòng):如果l(i)-e(i)=0,則稱乙為關(guān)鍵活
動(dòng)。關(guān)鍵路徑上的活動(dòng)都是關(guān)鍵活動(dòng)。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
2)求解關(guān)鍵路徑過(guò)程:
①輸入e條弧,建立AOE網(wǎng);
②從源點(diǎn)V1出發(fā),令ve(l)=0,按拓?fù)溆行蚯笃溆喔?/p>
頂點(diǎn)的ve(j),若得到的拓?fù)溆行蛐蛄兄械捻旤c(diǎn)個(gè)數(shù)
小于網(wǎng)中頂點(diǎn)個(gè)數(shù),說(shuō)明存在環(huán),不能求關(guān)鍵路徑;
③從匯點(diǎn)%出發(fā),令vl(n)=ve(n),按逆拓?fù)溆行蚯?/p>
其余各頂點(diǎn)的vl(j);
④ve和vl值,求每條弧(每個(gè)活動(dòng))的e(i)和l(i),
找出滿足e(i)二1⑴的關(guān)鍵活動(dòng),從而求得關(guān)鍵路徑。
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
2-6圖
264圉的應(yīng)用
'3)復(fù)雜度分析:
計(jì)算ve和vl的時(shí)間復(fù)雜度:0(n+e)
計(jì)算e和1的時(shí)間復(fù)雜度:0(e)
求關(guān)鍵路徑的總的時(shí)間復(fù)雜度:0(n+e)
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
例:AOE網(wǎng)采用鄰接矩陣存儲(chǔ),其三元組表示為:
(1,2,3),(1,3,2),(2,4,2),(2,5,3),(3,4,4),(3,6,3),
(4,6,2),(5,6,1),求ve、vLe⑴、班)和關(guān)鍵路徑。
解:根據(jù)三元組表示,該AOE網(wǎng)為:
第二章常用數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算
頂點(diǎn)vevl活動(dòng)e11-e
vl00al011
v234a2000
v322a3341
v466a4341
匯點(diǎn)v567a5220
v688a6253
a7660
a8671
得關(guān)鍵路徑:vl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)疾病預(yù)防控制中心免疫規(guī)劃工作評(píng)價(jià)指導(dǎo)
- 工業(yè)互聯(lián)網(wǎng)安全防護(hù)體系2025年智能物流領(lǐng)域的可行性分析報(bào)告
- 2025安徽宿州靈璧縣泗州戲劇團(tuán)有限公司招聘3人筆試歷年參考題庫(kù)附帶答案詳解
- 2025安徽合肥熱電集團(tuán)就業(yè)見(jiàn)習(xí)招募7人筆試歷年參考題庫(kù)附帶答案詳解
- 2025寧電投(石嘴山市)能源發(fā)展有限公司秋季社會(huì)招聘16人筆試參考題庫(kù)附帶答案詳解
- 初中AI課程中機(jī)器學(xué)習(xí)項(xiàng)目與地理氣候模型預(yù)測(cè)的實(shí)踐探索課題報(bào)告教學(xué)研究課題報(bào)告
- 2025四川自貢市榮縣興榮生態(tài)環(huán)境有限公司招聘駕駛員13人筆試歷年參考題庫(kù)附帶答案詳解
- 2025四川綿陽(yáng)市仙海水利風(fēng)景區(qū)國(guó)有資產(chǎn)監(jiān)督管理辦公室選聘區(qū)屬國(guó)有企業(yè)高級(jí)管理人員1人筆試歷年參考題庫(kù)附帶答案詳解
- 2025四川現(xiàn)代種業(yè)集團(tuán)西大農(nóng)業(yè)科技有限公司社會(huì)化招聘筆試歷年參考題庫(kù)附帶答案詳解
- 2025四川成都雙流國(guó)際機(jī)場(chǎng)股份有限公司校園招聘筆試歷年參考題庫(kù)附帶答案詳解
- 滬教版初中英語(yǔ)七年級(jí)下冊(cè)單詞匯表
- 反向開(kāi)票協(xié)議書(shū)
- 林場(chǎng)管護(hù)合同范例
- 春節(jié)后收心培訓(xùn)
- 福建省福州市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)英語(yǔ)試題 含答案
- 二次結(jié)構(gòu)承包合同
- GB/T 44592-2024紅樹(shù)林生態(tài)保護(hù)修復(fù)技術(shù)規(guī)程
- GB/T 43851-2024制造物流系統(tǒng)互聯(lián)互通通用要求
- 直播運(yùn)營(yíng)指南(從主播修煉、平臺(tái)運(yùn)營(yíng)到商業(yè)獲利)
- 《樹(shù)立正確的政績(jī)觀》課件
- 產(chǎn)品制造可行性評(píng)估報(bào)告
評(píng)論
0/150
提交評(píng)論