给定一个无向图,在此无向图中增加一个新顶点的完整代码
时间: 2024-01-22 17:18:15 浏览: 94
下面是增加新顶点的完整代码,假设我们要在无向图中增加一个新顶点v:
```python
class Graph:
def __init__(self, vertices):
self.V = vertices
self.adj = [[] for i in range(vertices)]
def add_edge(self, u, v):
self.adj[u].append(v)
self.adj[v].append(u)
def add_vertex(self):
self.V += 1
self.adj.append([])
```
首先在类中添加一个`add_vertex`方法,该方法会增加顶点数目并在邻接表中添加一个新的空列表。
可以使用下面的代码测试该方法:
```python
g = Graph(4)
g.add_edge(0, 1)
g.add_edge(1, 2)
g.add_edge(2, 3)
# 添加一个新顶点v
g.add_vertex()
# 打印邻接表
for i in range(g.V):
print("邻接表 of vertex {}\n head ".format(i), end="")
for j in g.adj[i]:
print("-> {}".format(j), end="")
print("\n")
```
输出结果应该是:
```
邻接表 of vertex 0
head -> 1
邻接表 of vertex 1
head -> 0-> 2
邻接表 of vertex 2
head -> 1-> 3
邻接表 of vertex 3
head -> 2
邻接表 of vertex 4
head
```
可以看到,一个新的顶点v被添加到了邻接表中,但它没有与其他任何顶点相邻接。
阅读全文