了解鄰接矩陣

2021-10-21 17:11:43 字數 1245 閱讀 5652

在本教程中,您將學習什麼是鄰接矩陣。此外,您還將在c中找到鄰接矩陣的示例。

鄰接矩陣是將圖g=表示為布林矩陣的一種方法。

鄰接矩陣表示法

矩陣的大小是 vxv,其中 v 是圖的頂點數,根據頂點 i 到頂點 j 是否有邊,條目 aij 的值為1或0。

鄰接矩陣示例

下圖顯示了乙個圖形及其等效的鄰接矩陣。

對於無向圖,由於每一條邊(i,j)的存在,矩陣關於對角線對稱,因此也有一條邊(j,i)。

鄰接矩陣的優點

新增邊、刪除邊以及檢查從頂點 i 到頂點 j 是否有邊等基本操作都是非常省時的常規操作。

如果圖是密集的,且邊的數目較大,則鄰接矩陣是首選。即使圖和鄰接矩陣是稀疏的,我們也可以用稀疏矩陣的資料結構來表示它。

圖的最大的優勢來自於矩陣的使用。硬體的最新發展使我們能夠在gpu上執行代價很大的矩陣運算。

通過對鄰接矩陣進行運算,我們可以深入了解圖的性質及其頂點之間的關係。

鄰接矩陣的缺點

鄰接矩陣的 vxv 空間要求使它占用很多記憶體。自然的圖通常沒有太多連線,這就是為什麼鄰接列表是大多數任務的更好選擇的主要原因。

雖然基本操作很簡單,但在使用鄰接矩陣表示時,像增加邊和刪除邊這樣的操作代價很大。

c示例如果您知道如何建立二維陣列,那麼您也知道如何建立鄰接矩陣。

// adjacency matrix representation in c

#include

#define v 4

// initialize the matrix to zero

void

init

(int arr[

][v]

)// add edges

void

addedge

(int arr[

][v]

,int i,

int j)

// print the matrix

void

printadjmatrix

(int arr[

][v]

)printf

("\n");

}}intmain()

鄰接矩陣應用

參考文件

[1]parewa labs pvt. ltd.adjacency matrix[eb/ol].

鄰接矩陣學習

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