写出求图中第一个顶点和下一个邻接点的代码
时间: 2024-02-18 18:03:49 浏览: 61
假设图用邻接表表示,第一个顶点可以通过直接访问邻接表的第一个链表来得到。下一个邻接点可以通过访问该顶点对应的链表中的下一个节点来得到。代码如下:
```python
# 定义邻接表表示法的图类
class Graph:
def __init__(self, V):
self.V = V
self.adj = [[] for i in range(V)]
# 添加一条边
def addEdge(self, v, w):
self.adj[v].append(w)
self.adj[w].append(v)
# 获取第一个邻接点
def firstNeighbor(self, v):
if len(self.adj[v]) > 0:
return self.adj[v][0]
else:
return -1
# 获取下一个邻接点
def nextNeighbor(self, v, w):
i = self.adj[v].index(w)
if i < len(self.adj[v]) - 1:
return self.adj[v][i+1]
else:
return -1
```
其中,V表示顶点数,adj是邻接表,firstNeighbor方法返回顶点v的第一个邻接点,nextNeighbor方法返回v的邻接表中,w之后的下一个邻接点。
阅读全文