基本图的算法
基本圖的算法
G=(V,E)
表示法,鄰接矩陣,鄰接鏈表(稀松圖)
鄰接鏈表表示一個(gè)包含|V|條鏈表的數(shù)組Adj所構(gòu)成,每個(gè)節(jié)點(diǎn)有一條鏈表。對(duì)于每個(gè)節(jié)點(diǎn)u 屬于V,鄰接鏈表Adj[u]包含所有與
結(jié)點(diǎn)u之間有邊相連的結(jié)點(diǎn)v。
權(quán)重圖,圖中每條邊帶一個(gè)相關(guān)的權(quán)重。
權(quán)重函數(shù)w:E->R。
鄰接鏈表缺陷是無(wú)法快速判斷一條邊(u,v)是否是圖中的一條邊。
?
?
?廣度優(yōu)先所搜
BFS(G,s)
??? for(each vertex u ∈ G.V -{s})
?? ??? ?u.color = WHITE
?? ??? ?u.d = oo
?? ??? ?u.pi = nil
?? ?s.coloar = GRAY
?? ?s.d = 0
?? ?s.pi = NIL
?? ?Q= 0
?? ?ENQUEUE(Q,s)
?? ?while(Q != 0)
?? ??? ?u = DEQUEUE(Q)
?? ??? ?for each v ∈ G.Adj[u]
?? ??? ??? ?if v.color == WHITE
?? ??? ??? ??? ?v.coloar = GRAY
?? ??? ??? ??? ?v.d = u.d + 1
?? ??? ??? ??? ?v.pi = u
?? ??? ??? ??? ?ENQUEUE(Q,v)
?? ??? ?u.color = BLACK
屬性說(shuō)明,
PI 是父節(jié)點(diǎn)parent
d是distance
?
?
總結(jié)
- 上一篇: Hadoop 集群搭建
- 下一篇: Emacs 简介