无向图创建邻接表
时间: 2023-07-16 20:13:16 浏览: 142
无向图的邻接表构建和遍历
5星 · 资源好评率100%
邻接表是一种表示图的数据结构,可以用于存储无向图的信息。它将每个顶点与其相邻的顶点列表关联起来。
下面是创建无向图邻接表的步骤:
1. 定义一个包含 n 个链表的数组,其中 n 是图中顶点的数量。
2. 遍历图的每个边,将每条边所连接的两个顶点分别加入到对方的链表中。
3. 如果边是自环边,则只需将一个顶点加入到其自身链表中即可。
以下是一个示例代码,用于创建一个无向图的邻接表:
```python
class Graph:
def __init__(self, vertices):
self.vertices = vertices
self.adj_list = [[] for _ in range(vertices)]
def add_edge(self, u, v):
# add edge u -> v
self.adj_list[u].append(v)
# add edge v -> u
self.adj_list[v].append(u)
```
在此示例中,我们首先定义了一个 Graph 类,它包含一个 vertices 属性和一个 adj_list 属性,分别表示图中顶点的数量和邻接表。add_edge 方法用于将给定的两个顶点相互连接。对于无向图来说,需要同时在两个顶点的链表中加入对方。
阅读全文