实现键盘输入图的顶点和边信息,建立一个图,实现图的深度优先搜索
时间: 2023-12-05 14:10:08 浏览: 106
好的,我理解了你的问题。我可以为你提供一个简单的实现,代码如下:
```python
class Graph:
def __init__(self):
self.graph = {}
def add_vertex(self, vertex):
if vertex not in self.graph:
self.graph[vertex] = []
def add_edge(self, vertex1, vertex2):
if vertex1 in self.graph:
self.graph[vertex1].append(vertex2)
else:
self.graph[vertex1] = [vertex2]
def DFS(self, start):
visited = [False] * len(self.graph)
self.DFSUtil(start, visited)
def DFSUtil(self, vertex, visited):
visited[vertex] = True
print(vertex, end=' ')
for i in self.graph[vertex]:
if not visited[i]:
self.DFSUtil(i, visited)
```
这里我们首先定义了一个 `Graph` 类,然后实现了添加顶点和边的方法。接着,我们实现了深度优先搜索算法,使用 `visited` 数组来记录每个顶点是否已经被访问过。最后,我们在 `DFS` 方法中调用 `DFSUtil` 方法,从指定的顶点开始递归地进行深度优先搜索。
阅读全文