图的邻接矩阵定义及实现
时间: 2024-02-01 15:14:55 浏览: 106
邻接矩阵是一种表示图的数据结构,它用一个二维矩阵来表示图中所有节点之间的关系。邻接矩阵的大小为 $n \times n$,其中 $n$ 是图中节点的数量。矩阵中的每个元素 $a_{i,j}$ 表示节点 $i$ 和节点 $j$ 之间是否存在一条边,如果存在,则 $a_{i,j}=1$,否则 $a_{i,j}=0$。
邻接矩阵实现起来比较简单,可以使用二维数组来表示。以下是一个使用 Python 实现邻接矩阵的示例代码:
```python
class Graph:
def __init__(self, num_vertices):
self.num_vertices = num_vertices
self.adj_matrix = [[0] * num_vertices for _ in range(num_vertices)]
def add_edge(self, v1, v2):
self.adj_matrix[v1][v2] = 1
self.adj_matrix[v2][v1] = 1
def remove_edge(self, v1, v2):
self.adj_matrix[v1][v2] = 0
self.adj_matrix[v2][v1] = 0
def print_matrix(self):
for row in self.adj_matrix:
print(row)
```
在这个示例中,我们定义了一个名为 `Graph` 的类,它有一个成员变量 `adj_matrix`,用来存储邻接矩阵。在类的构造函数中,我们初始化了邻接矩阵,将所有元素都设置为 0。类中还提供了 `add_edge` 和 `remove_edge` 方法,用来添加和删除边。最后,我们还实现了一个 `print_matrix` 方法,用来打印邻接矩阵。
使用上述代码创建一个图对象,然后调用 `add_edge` 方法来添加边,再调用 `print_matrix` 方法来打印邻接矩阵即可。
阅读全文