日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

了解邻接矩阵

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 了解邻接矩阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

          • 鄰接矩陣表示法
          • 鄰接矩陣示例
          • 鄰接矩陣的優點
          • 鄰接矩陣的缺點
          • C示例
          • 鄰接矩陣應用
          • 參考文檔

????在本教程中,您將學習什么是鄰接矩陣。此外,您還將在C中找到鄰接矩陣的示例。
????鄰接矩陣是將圖G={V,E}表示為布爾矩陣的一種方法。

鄰接矩陣表示法

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

鄰接矩陣示例

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

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

鄰接矩陣的優點

????添加邊、刪除邊以及檢查從頂點 i 到頂點 j 是否有邊等基本操作都是非常省時的常規操作。
????如果圖是密集的,且邊的數目較大,則鄰接矩陣是首選。即使圖和鄰接矩陣是稀疏的,我們也可以用稀疏矩陣的數據結構來表示它。
????圖的最大的優勢來自于矩陣的使用。硬件的最新發展使我們能夠在GPU上執行代價很大的矩陣運算。
????通過對鄰接矩陣進行運算,我們可以深入了解圖的性質及其頂點之間的關系。

鄰接矩陣的缺點

????鄰接矩陣的 VxV 空間要求使它占用很多內存。自然的圖通常沒有太多連接,這就是為什么鄰接列表是大多數任務的更好選擇的主要原因。
????雖然基本操作很簡單,但在使用鄰接矩陣表示時,像增加邊和刪除邊這樣的操作代價很大。

C示例

????如果您知道如何創建二維數組,那么您也知道如何創建鄰接矩陣。

// Adjacency Matrix representation in C#include <stdio.h> #define V 4// Initialize the matrix to zero void init(int arr[][V]) {int i, j;for (i = 0; i < V; i++)for (j = 0; j < V; j++)arr[i][j] = 0; }// Add edges void addEdge(int arr[][V], int i, int j) {arr[i][j] = 1;arr[j][i] = 1; }// Print the matrix void printAdjMatrix(int arr[][V]) {int i, j;for (i = 0; i < V; i++) {printf("%d: ", i);for (j = 0; j < V; j++) {printf("%d ", arr[i][j]);}printf("\n");} }int main() {int adjMatrix[V][V];init(adjMatrix);addEdge(adjMatrix, 0, 1);addEdge(adjMatrix, 0, 2);addEdge(adjMatrix, 1, 2);addEdge(adjMatrix, 2, 0);addEdge(adjMatrix, 2, 3);printAdjMatrix(adjMatrix);return 0; }
鄰接矩陣應用
  • 在網絡中創建路由表
  • 導航任務
參考文檔

[1]Parewa Labs Pvt. Ltd.Adjacency Matrix[EB/OL].https://www.programiz.com/dsa/graph-adjacency-matrix,2020-01-01.

總結

以上是生活随笔為你收集整理的了解邻接矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。