c++实现欧拉回路问题

2013-04-10 11:40:24 · 作者: · 浏览: 198

  欧拉回路问题由七桥问题而来,其基本问题是是否能一次性不重复地走遍这七座桥,转换为数学问题中的图论就是指的是从图中的一个顶点出发,是否能够一次性不回头地走遍所有的边,算法代码如下

  [cpp]

  #include <iostream>

  #include <ctime>

  using namespace std;

  int G ;

  int visited ;

  int n = 5;

  void euler(int u) {

  for (int v = 0; v < n; v++) {

  if (G[u][v] && ! visited[u][v]) {

  cout 《 u 《 "->" 《 v 《 endl;

  visited[u][v] = visited[v][u] = 1;

  euler(v);

  }

  }

  }

  int main() {

  G = G = G = G = 1;

  G = G = G = G = 1;

  euler(1);

  return 0;

  }