邻接矩阵如何定义有个n*n的二维数组
时间: 2024-05-10 22:17:12 浏览: 143
MATLAB源码集锦-有向图关联矩阵和邻接矩阵的相互转换算法代码
5星 · 资源好评率100%
邻接矩阵通常用来表示无向图和有向图中各个节点之间的连通性,其定义为一个n*n的二维数组。对于无向图,邻接矩阵中的元素a[i][j]表示节点i和节点j之间是否有边,如果有,则为1,无则为0。由于无向图的邻接矩阵是对称的,即a[i][j]=a[j][i],因此只需要填写矩阵的上三角或下三角即可。
对于有向图,邻接矩阵中的元素a[i][j]表示节点i到节点j之间是否有边,如果有,则为1,无则为0。因为有向图的邻接矩阵不一定对称,所以需要填写整个矩阵。
邻接矩阵可以使用二维数组来实现,数组的下标表示节点的编号,数组元素表示节点之间的连通情况。例如,以下是一个无向图的邻接矩阵:
```
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 0 0
3 0 1 0 1 1
4 1 0 1 0 1
5 0 0 1 1 0
```
其中,a[1][2]=1表示节点1和节点2之间有边,a[3][5]=1表示节点3和节点5之间有边,a[1][5]=0表示节点1和节点5之间没有边。
阅读全文