python邻接矩阵初始化
时间: 2024-09-11 22:16:07 浏览: 50
python使用邻接矩阵构造图代码示例
邻接矩阵是一种表示图数据结构的方法,它使用一个二维数组来表示图中各个顶点之间的连接关系。在Python中,初始化一个图的邻接矩阵通常涉及创建一个大小为`n*n`的二维数组(其中`n`是图中顶点的数量),并将所有元素初始化为0(表示顶点之间没有直接的连接)。如果两个顶点之间有直接的边相连,则将对应位置的元素设置为1(或边的权重,如果是加权图)。例如,一个简单的无向图的邻接矩阵初始化代码如下:
```python
def initialize_adjacency_matrix(n):
# 创建一个n*n的二维数组,初始化所有元素为0
return [[0 for _ in range(n)] for _ in range(n)]
```
如果图是有向图,并且每个边有权重,则初始化可能会涉及将对应位置设置为边的权重值,而不是简单的1:
```python
def initialize_weighted_adjacency_matrix(n):
# 创建一个n*n的二维数组,初始化所有元素为0
# 如果图是有向且带权的,可以将权重设置为None或其他初始化值
return [[None for _ in range(n)] for _ in range(n)]
```
初始化邻接矩阵之后,可以通过修改矩阵中的元素来表示图中的边。例如,对于无向图添加一条连接顶点`i`和顶点`j`的边,可以这样操作:
```python
n = 5 # 假设图有5个顶点
matrix = initialize_adjacency_matrix(n)
matrix[i][j] = 1
matrix[j][i] = 1 # 无向图是对称的,所以也要更新对应的另一端
```
对于有向图添加一条从顶点`i`指向顶点`j`的边,操作如下:
```python
matrix[i][j] = weight # weight为边的权重
```
阅读全文