以邻接表的形式创建一个无向图程序源代码
时间: 2023-11-24 11:08:12 浏览: 44
以下是一个使用邻接表表示无向图的 Python 代码示例:
```python
class Graph:
def __init__(self, vertices):
self.vertices = vertices
self.adj_list = {v: [] for v in range(vertices)}
def add_edge(self, v1, v2):
self.adj_list[v1].append(v2)
self.adj_list[v2].append(v1)
def print_graph(self):
for v in range(self.vertices):
print("Vertex", v, ": ", end="")
for adj_v in self.adj_list[v]:
print(adj_v, end=" ")
print()
# 示例用法
g = Graph(5)
g.add_edge(0, 1)
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.print_graph()
```
在这个例子中,我们使用了一个字典来表示邻接表。这个字典的键为节点编号,值为一个列表,包含了所有与该节点相邻的节点编号。在 `add_edge` 方法中,我们将两个节点互相添加到对方的邻接列表中,从而创建了一个无向图。最后,我们使用 `print_graph` 方法来打印整个图的邻接表表示。