写出这几个代码 1.增加一个新顶点v,InsertVex(G, v); 2.删除顶点v及其相关的边,DeleteVex(G, v); 3.增加一条边<v,w>,InsertArc(G, v, w); 4.删除一条边<v,w>,DeleteArc(G, v, w)。
时间: 2024-03-10 07:46:45 浏览: 49
第七章图-数据结构结构.ppt
好的,我可以为您提供这几个基本操作的 Python 代码。
邻接矩阵的实现:
```python
# 增加一个新顶点v
def InsertVex(G, v):
n = len(G)
for i in range(n):
G[i].append(0)
G.append([0] * (n + 1))
# 删除顶点v及其相关的边
def DeleteVex(G, v):
n = len(G)
for i in range(n):
del G[i][v]
del G[v]
# 增加一条边<v,w>
def InsertArc(G, v, w):
G[v][w] = 1
# 删除一条边<v,w>
def DeleteArc(G, v, w):
G[v][w] = 0
```
邻接表的实现:
```python
# 增加一个新顶点v
def InsertVex(G, v):
G.append([])
# 删除顶点v及其相关的边
def DeleteVex(G, v):
for i in range(len(G)):
if v in G[i]:
G[i].remove(v)
del G[v]
# 增加一条边<v,w>
def InsertArc(G, v, w):
G[v].append(w)
# 删除一条边<v,w>
def DeleteArc(G, v, w):
G[v].remove(w)
```
注意,这里的邻接表实现中,每个顶点的相邻节点是用一个列表来存储的,而不是用链表来存储的。这是因为 Python 中的列表可以方便地进行插入和删除操作,而且也可以作为一个简单的链表来使用。如果您需要使用链表来实现邻接表,可以参考其他的实现方式。
阅读全文