用Python写出多个起点的环状图论模型遍历代码
时间: 2023-03-19 14:23:37 浏览: 158
YOLO算法-城市电杆数据集-496张图像带标签-电杆.zip
以下是用Python编写多个起点的环状图论模型遍历代码的示例:
```python
from collections import deque
# 定义图的邻接表表示
graph = {
'A': ['B', 'D'],
'B': ['C', 'E'],
'C': ['A', 'F'],
'D': ['E', 'G'],
'E': ['F', 'H'],
'F': ['D', 'I'],
'G': ['H', 'A'],
'H': ['I', 'B'],
'I': ['G', 'C']
}
# 定义起点列表
start_nodes = ['A', 'B', 'C']
# 定义遍历函数
def traverse(graph, start_nodes):
visited = set()
queue = deque(start_nodes)
while queue:
node = queue.popleft()
if node not in visited:
visited.add(node)
print(node)
for neighbor in graph[node]:
queue.append(neighbor)
# 调用遍历函数
traverse(graph, start_nodes)
```
在这个示例中,我们使用了Python的collections模块中的deque来实现队列,使用set来存储已访问的节点。同时,我们定义了一个起点列表,遍历函数会从每个起点开始进行遍历。
阅读全文