创建无向图的邻接数组存储结构
时间: 2024-11-18 16:15:58 浏览: 27
无向图的邻接表存储及输出
4星 · 用户满意度95%
创建无向图的邻接数组存储结构是一种常见的数据结构,它将每个顶点与其相连的所有其他顶点通过索引关联起来。这种存储方式通常用一个数组来表示图,数组的长度等于图中顶点的数量。对于每个顶点,我们可以用一个数组列表、一维数组或哈希表来存储与之相邻的顶点。
例如,在邻接数组表示法中:
1. **邻接列表**:每条边对应两个顶点,我们为每个顶点维护一个大小固定的数组,这个数组的元素就是该顶点连接的其他顶点的下标。如果某顶点不存在于列表中,则表示该顶点不与当前顶点相连。
```python
graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['A', 'F'],
# ... 等待其他顶点
}
```
2. **邻接矩阵**:二维数组,其中`graph[i][j]` 表示顶点i到顶点j是否有边。对角线上的元素通常是0,因为顶点不会连到自身。非对角线上存在的元素表示有边,值可以是1或其他标记。
```python
graph = [
[0, 1, 1, 0, 0],
[1, 0, 0, 1, 0],
[1, 0, 0, 0, 1],
[0, 1, 0, 0, 1],
[0, 0, 1, 1, 0]
]
```
阅读全文