建立一个无向图的邻接表,输出该图的邻接表python
时间: 2023-11-05 19:04:13 浏览: 78
无向图的建立和邻接矩阵的输出
5星 · 资源好评率100%
好的,以下是建立无向图邻接表的Python代码:
```python
class Graph:
def __init__(self, vertices):
self.V = vertices
self.adj_list = [[] for i in range(vertices)]
def add_edge(self, u, v):
self.adj_list[u].append(v)
self.adj_list[v].append(u)
def print_adj_list(self):
for i in range(self.V):
print("Adjacency list of vertex {}: ".format(i), end="")
for j in self.adj_list[i]:
print(j, end=" ")
print()
# Example usage
g = Graph(5)
g.add_edge(0, 1)
g.add_edge(0, 4)
g.add_edge(1, 2)
g.add_edge(1, 3)
g.add_edge(1, 4)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.print_adj_list()
```
这段代码中,我们首先定义了一个`Graph`类,它包含顶点数`V`和邻接表列表`adj_list`两个属性。然后在`add_edge`方法中,我们把无向图的边表示成两个方向相反的有向边,分别加入`u`和`v`的邻接表中。最后,`print_adj_list`方法可以输出整个邻接表。我们可以用该类来构建一个无向图,并输出它的邻接表。
阅读全文