python实现邻接表
时间: 2023-12-12 12:35:13 浏览: 96
以下是Python实现邻接表的示例代码:
```python
class Graph:
def __init__(self, num_vertices):
self.num_vertices = num_vertices
self.adj_list = [[] for _ in range(num_vertices)]
def add_edge(self, source, dest):
self.adj_list[source].append(dest)
self.adj_list[dest].append(source)
def print_adj_list(self):
for i in range(self.num_vertices):
print(i, ":", " -> ".join([str(x) for x in self.adj_list[i]]))
```
这个示例代码中,我们定义了一个Graph类,其中包含了三个方法:
1. `__init__`方法:初始化一个空的邻接表,其中`num_vertices`表示图中顶点的数量,`adj_list`是一个列表,用于存储每个顶点及其相邻的所有顶点。
2. `add_edge`方法:用于向邻接表中添加一条边,其中`source`和`dest`分别表示边的起点和终点。
3. `print_adj_list`方法:用于打印邻接表,其中对于每个顶点,我们将其编号以及与其相邻的所有顶点打印出来。
阅读全文