图的邻接矩阵实例以及Python代码
时间: 2023-11-05 18:23:43 浏览: 100
python将邻接矩阵输出成图的实现
邻接矩阵是一种常见的图的表示方法,它使用一个二维数组来表示图中各个节点之间的关系。下面是一个简单的邻接矩阵实例:
假设有一个无向图,其中包含5个节点和7条边,它们之间的关系如下:
```
1--2--3--4
| | |
5 6 7
```
可以使用一个5x5的二维数组来表示这个无向图的邻接矩阵,该数组的第i行第j列的值表示节点i和节点j之间是否存在一条边。如果存在,则值为1;否则,值为0。
```
1 2 3 4 5
1 0 1 0 0 1
2 1 0 1 0 0
3 0 1 0 1 0
4 0 0 1 0 0
5 1 0 0 0 0
```
下面是一个简单的Python代码实现构建无向图的邻接矩阵:
```python
class Graph:
def __init__(self, vertices):
self.V = vertices
self.adj_matrix = [[0] * self.V for _ in range(self.V)]
def add_edge(self, u, v):
self.adj_matrix[u][v] = 1
self.adj_matrix[v][u] = 1
def print_graph(self):
for i in range(self.V):
for j in range(self.V):
print(self.adj_matrix[i][j], end=' ')
print()
# 创建一个包含5个节点的无向图
g = Graph(5)
g.add_edge(0, 1)
g.add_edge(0, 4)
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(2, 4)
g.add_edge(3, 4)
# 打印邻接矩阵
g.print_graph()
```
输出结果:
```
0 1 0 0 1
1 0 1 0 0
0 1 0 1 1
0 0 1 0 1
1 0 1 1 0
```
可以看到,使用邻接矩阵可以很方便地表示无向图中各个节点之间的关系。在这个例子中,我们使用一个5x5的二维数组来表示包含5个节点和7条边的无向图。
阅读全文