如何建立一个无向图的邻接矩阵,具体代码
时间: 2024-05-06 09:18:35 浏览: 7
一个无向图的邻接矩阵是一个 N × N 的矩阵,其中 N 是图中的节点数。如果节点 i 和节点 j 之间有边相连,则邻接矩阵中第 i 行第 j 列和第 j 行第 i 列的元素值为 1,否则为 0。
以下是 Python 代码示例:
```python
# 无向图的邻接矩阵表示
class Graph:
def __init__(self, num_vertices):
self.adj_matrix = [[0] * num_vertices for _ in range(num_vertices)]
self.num_vertices = num_vertices
def add_edge(self, i, j):
self.adj_matrix[i][j] = 1
self.adj_matrix[j][i] = 1
def remove_edge(self, i, j):
self.adj_matrix[i][j] = 0
self.adj_matrix[j][i] = 0
def __str__(self):
return '\n'.join([' '.join([str(i) for i in row]) for row in self.adj_matrix])
```
示例用法:
```python
# 创建一个包含四个节点的图
graph = Graph(4)
# 添加边
graph.add_edge(0, 1)
graph.add_edge(0, 2)
graph.add_edge(1, 2)
graph.add_edge(2, 3)
# 打印邻接矩阵
print(graph)
```
输出:
```
0 1 1 0
1 0 1 0
1 1 0 1
0 0 1 0
```