python实现无向图邻接表
时间: 2023-11-24 21:50:21 浏览: 95
在Python中,可以使用字典来实现无向图的邻接表。具体实现方法如下:
```python
class Graph:
def __init__(self):
self.graph = {}
def add_edge(self, u, v):
if u not in self.graph:
self.graph[u] = []
if v not in self.graph:
self.graph[v] = []
self.graph[u].append(v)
self.graph[v].append(u)
def print_graph(self):
for node in self.graph:
print(node, "->", " -> ".join([str(x) for x in self.graph[node]]))
```
在这个实现中,我们定义了一个Graph类,其中包含一个字典graph,用于存储图的邻接表。add_edge方法用于添加边,print_graph方法用于打印整个图的邻接表。
使用示例:
```python
g = Graph()
g.add_edge(0, 1)
g.add_edge(0, 2)
g.add_edge(1, 2)
.add_edge(2, 3)
g.print_graph()
```
输出结果:
```
0 -> 1 -> 2
1 -> 0 -> 2
2 -> 0 -> 1 -> 3
3 -> 2
```
阅读全文