python哈密尔顿回路
时间: 2023-11-11 21:00:53 浏览: 245
哈密尔顿回路是指一条经过图中每个顶点恰好一次的回路。在 Python 中,可以使用深度优先搜索(DFS)来寻找哈密尔顿回路。具体实现可以参考以下代码:
```python
def hamiltonian_path(graph, start):
visited = set([start])
path = [start]
if dfs(graph, visited, path):
return path
return None
def dfs(graph, visited, path):
if len(path) == len(graph):
return True
current = path[-1]
for neighbor in graph[current]:
if neighbor not in visited:
visited.add(neighbor)
path.append(neighbor)
if dfs(graph, visited, path):
return True
visited.remove(neighbor)
path.pop()
return False
```
其中,`graph` 是一个字典,表示图的邻接表;`start` 是起始顶点。函数 `hamiltonian_path` 返回一个列表,表示哈密尔顿回路的顶点序列;如果不存在哈密尔顿回路,则返回 `None`。
阅读全文