鄰接矩陣學習

2021-09-20 09:04:09 字數 1172 閱讀 1905

鄰接矩陣:是表示頂點之間相鄰關係的矩陣。因此,用乙個一維陣列存放圖中所有頂點資料;用乙個二維陣列存放頂點間的關係(邊或弧)的資料,這個二維陣列稱為鄰接矩陣。鄰接矩陣又分為有向圖鄰接矩陣和無向圖鄰接矩陣。

設g=(v,e)是乙個圖,其中v=。g的鄰接矩陣是乙個具有下列性質的n階方陣:

①對無向圖而言,鄰接矩陣一定是對稱的,而且主對角線一定為零(在此僅討論無向簡單圖),副對角線不一定為0,有向圖則不一定如此。

②在無向圖中,任一頂點i的度為第i列(或第i行)所有非零元素的個數,在有向圖中頂點i的出度為第i行所有非零元素的個數,而入度為第i列所有非零元素的個數。

③用鄰接矩陣法表示圖共需要n^2個空間,由於無向圖的鄰接矩陣一定具有對稱關係,所以扣除對角線為零外,僅需要儲存上三角形或下三角形的資料即可,因此僅需要n(n-1)/2個空間。

特點:無向圖的鄰接矩陣一定是對稱的,而有向圖的鄰接矩陣不一定對稱。因此,用鄰接矩陣來表示乙個具有n個頂點的有向圖時需要n^2個單元來儲存鄰接矩陣;對有n個頂點的無向圖則只存入上(下)三角陣中剔除了左上右下對角線上的0元素後剩餘的元素,故只需1+2+...+(n-1)=n(n-1)/2個單元。

無向圖鄰接矩陣的第i行(或第i列)非零元素的個數正好是第i個頂點的度。

有向圖鄰接矩陣中第i行非零元素的個數為第i個頂點的出度,第i列非零元素的個數為第i個頂點的入度,第i個頂點的度為第i行與第i列非零元素個數之和。

用鄰接矩陣表示圖,很容易確定圖中任意兩個頂點是否有邊相連。

所謂鄰接矩陣(adjacency matrix)的儲存結構,就是用一維陣列儲存圖中頂點的資訊,用矩陣表示圖中各頂點之間的鄰接關係。假設圖g=(v,e)有n 個確定的頂點,即v=,則表示g 中各頂點相鄰關係為乙個n×n 的矩陣,矩陣的元素為:

其中,wij 表示邊(vi,vj)或上的權值;∞表示乙個計算機允許的、大於所有邊上權值的數。

用鄰接矩陣表示法表示圖如圖8.7 所示。

用鄰接矩陣表示法表示網圖如圖8.8 所示。

鄰接矩陣學習

鄰接矩陣 是表示頂點之間相鄰關係的矩陣。因此,用乙個一維陣列存放圖中所有頂點資料 用乙個二維陣列存放頂點間的關係 邊或弧 的資料,這個二維陣列稱為鄰接矩陣。鄰接矩陣又分為有向圖鄰接矩陣和無向圖鄰接矩陣。設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...

鄰接矩陣實現

缺點 created by carso on 2020 3 14.ifndef c grapmatrix h define c grapmatrix h include include include 定義頂點 templatestruct vertex 定義邊 templatestruct edg...