建邊 鄰接矩陣 vector 鏈式向前星

2021-09-25 06:39:20 字數 1066 閱讀 7714

(圖論的中一般都會牽涉到建邊的問題,下面的這三種建邊的方法視情況選取)

int

main()

}}

struct node

;vectorvt[

300]

;//vt[i]中存的是以i為起點的邊,vt[i][0].e、vt[i][1].e、vt[i][2].e、、、分別表示每條邊的終點

intmain()

);//以sx為起點的邊

vt[ex]

.push_back

(node);

}}}

const

int manx=

1e4+10;

int dis[

300]

,vs[

300]

,head[

300]

;//dis表示到起點的最短距離

//vs中,1表示已入隊,0表示未入隊

//head最終存的是以i為終點的最後一條邊head[i]

int n,m,cou;

//cou記錄每條邊的編號

struct node

edge[manx<<2]

;void

add(

int s,

int e,

int len)

; head[s]

=cou++

;//這裡可以發現,head[s]中的資料就是以s為起點的「最後一條邊」

}vectorvt[

300]

;int

main()

}}

遍歷相同起點的邊

for

(int i=head[sx]

;i!=-1

;i=edge[i]

.bf)

//i表示邊的編號

nx=edge[i]

.e,nlen=edge[i]

.len;

//起點:ex,終點:nx,邊權:nlen

鄰接矩陣學習

鄰接矩陣 是表示頂點之間相鄰關係的矩陣。因此,用乙個一維陣列存放圖中所有頂點資料 用乙個二維陣列存放頂點間的關係 邊或弧 的資料,這個二維陣列稱為鄰接矩陣。鄰接矩陣又分為有向圖鄰接矩陣和無向圖鄰接矩陣。設g v,e 是乙個圖,其中v g的鄰接矩陣是乙個具有下列性質的n階方陣 對無向圖而言,鄰接矩陣一...

鄰接矩陣學習

鄰接矩陣 是表示頂點之間相鄰關係的矩陣。因此,用乙個一維陣列存放圖中所有頂點資料 用乙個二維陣列存放頂點間的關係 邊或弧 的資料,這個二維陣列稱為鄰接矩陣。鄰接矩陣又分為有向圖鄰接矩陣和無向圖鄰接矩陣。設g v,e 是乙個圖,其中v g的鄰接矩陣是乙個具有下列性質的n階方陣 對無向圖而言,鄰接矩陣一...

鄰接矩陣(Adjacency Matrix)

鄰接矩陣的特點 1 對於有n個頂點的無向圖最多需要n n 1 2個儲存空間,有向圖最多需要n 2個儲存空間 2 對於無向圖,鄰接矩陣第i行元素之和是圖第i個頂點的度 3 鄰接矩陣適用於稠密圖 4 方便搜尋兩頂點是否有邊或弧 鄰接矩陣的屬性 public static final int inf 32...