加权无向图的邻接矩阵
时间: 2025-01-02 10:38:36 浏览: 18
### 加权无向图的邻接矩阵表示
对于加权无向图而言,其邻接矩阵不仅用于指示顶点间是否存在连接,还记录了每条边上所附带的具体权重。具体来说:
- 邻接矩阵是一个二维数组`G[V][V]`,其中`V`代表图中顶点的数量。
- 如果顶点`i`和顶点`j`之间有一条边相连,则设置`G[i][j]=w`以及`G[j][i]=w`,这里`w`即为该边对应的权重值[^1]。
- 若两顶点间不存在直接连通路径,则通常将对应位置设为无穷大(∞),以此来表明这两点不可达。
下面给出一段Python代码片段展示如何初始化并填充这样一个加权无向图的邻接矩阵:
```python
import math
def initialize_weighted_adjacency_matrix(vertices, edges):
V = len(vertices)
G = [[math.inf]*V for _ in range(V)]
# Set diagonal elements to zero since there's no self-loop.
for i in range(V):
G[i][i] = 0
# Populate the adjacency matrix with given edge weights.
for u, v, w in edges:
idx_u = vertices.index(u)
idx_v = vertices.index(v)
G[idx_u][idx_v] = w
G[idx_v][idx_u] = w
return G
```
此函数接收两个参数:一个是包含所有节点名称列表`vertices`;另一个是由三元组组成的列表`edges`,每个三元组形式为`(u,v,w)`分别指代起点、终点及其间的距离或成本等数值属性。通过遍历这些输入数据,可以构建起完整的加权无向图结构[^3]。
阅读全文