【发布时间】:2011-05-16 20:41:08
【问题描述】:
我已经实现了一种算法来为无向图中的给定起始顶点找到欧拉循环(使用 DFS 并删除访问的边),但它总是只返回一个路径。如何修改算法以搜索所有可能的欧拉环来查找顶点?
相关代码如下:
typedef int Graph[200][200]; // adjacency matrix
int v, e; // vertex count, edge count
......
void DFS(Graph &G, int x) {
int i;
Push(x);
for (i = 0; i < v; i++)
if (G[i][x] > 0) {
G[i][x] = 0;
G[x][i] = 0;
DFS(G, i);
break;
}
}
【问题讨论】:
-
你能发布你的实现吗?它不应该需要太多更改。
-
你没有测试过桥梁吗?这不是欧拉回路!?或者欧拉回路和欧拉循环有区别吗?
-
是的,暂时没有网桥检测。只是想先让它在简单的图表上工作。
标签: algorithm graph graph-theory