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