邻接矩阵表示法创建无向图
时间: 2023-10-20 14:33:44 浏览: 159
邻接矩阵是一种表示图的方式,适用于有限的、大小固定的图。创建无向图的邻接矩阵表示法可以按照以下步骤进行:
1. 确定图的规模,即节点的个数。
2. 创建一个规模为n * n的矩阵A,其中n为节点个数。
3. 对于每个节点i,将矩阵A的第i行和第i列置为0。
4. 对于每条边(i, j),将矩阵A的第i行第j列和第j行第i列标记为1,表示i和j之间有一条边。
5. 如果希望对图进行权重的计算,可以将矩阵A的对应位置改为边的权重。
创建完邻接矩阵后,就可以方便地进行图的遍历、查找、修改等操作。同时,邻接矩阵也适用于稠密图,但对于稀疏图会浪费空间。
相关问题
邻接矩阵表示法创建无向图 代码
下面是使用邻接矩阵表示法创建无向图的代码示例,其中使用了二维数组来存储邻接矩阵:
```c++
#include<iostream>
using namespace std;
const int MAXN = 100; // 图的最大节点数
int graph[MAXN][MAXN]; // 邻接矩阵表示法
int n, m; // n 表示节点数,m 表示边数
int main()
{
cin >> n >> m; // 输入节点数和边数
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v; // 输入一条边的两个端点
graph[u][v] = 1; // 标记有一条从 u 到 v 的边
graph[v][u] = 1; // 由于是无向图,所以还要标记有一条从 v 到 u 的边
}
return 0;
}
```
以上代码实现了使用邻接矩阵表示法创建无向图的功能,可以在输入节点数和边数后,逐个输入边的两个端点,然后标记对应的邻接矩阵元素。
采用邻接矩阵表示法创建无向图
邻接矩阵是一种表示图形的方法,其中每个节点都与一个布尔数组相关联,该数组的大小等于图形中的节点数。如果节点i到节点j之间有一条边,则数组中的(i,j)位置为true,否则为false。对于无向图,邻接矩阵是对称的,因为如果节点i到节点j有一条边,则节点j到节点i也有一条边。
以下是采用邻接矩阵表示法创建无向图的Python代码示例:
```python
class Graph:
def __init__(self, vertices):
self.V = vertices
self.graph = [[0 for column in range(vertices)]
for row in range(vertices)]
def add_edge(self, u, v):
self.graph[u][v] = 1
self.graph[v][u] = 1
def degree(self, v):
degree = 0
for i in range(self.V):
if self.graph[v][i] == 1:
degree += 1
return degree
g = Graph(5)
g.add_edge(0, 1)
g.add_edge(0, 4)
g.add_edge(1, 2)
g.add_edge(1, 3)
g.add_edge(1, 4)
g.add_edge(2, 3)
g.add_edge(3, 4)
for i in range(5):
print("Vertex", i, "has degree", g.degree(i))
```
该代码创建了一个具有5个节点的图形,并添加了7条边。然后,它遍历每个节点并计算其度数,最后输出每个节点的度数。