给定一个无向图,在此无向图中增加一个新顶点的完整代码
时间: 2024-01-22 07:18:15 浏览: 101
下面是增加新顶点的完整代码,假设我们要在无向图中增加一个新顶点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被添加到了邻接表中,但它没有与其他任何顶点相邻接。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)