码迷,mamicode.com
首页 > 其他好文 > 详细

欧拉回路

时间:2014-11-15 21:53:34      阅读:380      评论:0      收藏:0      [点我收藏+]

标签:style   ar   os   使用   sp   for   on   bs   amp   

定义

       欧拉回路:图G,若存在一条路,经过G中每条边有且仅有一次,称这条路为欧拉路,如果存在一条回路经过G每条边有且仅有一次,称这条回路为欧拉回路。具有欧拉回路的图成为欧拉图。

判断原理

有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度。
无向图:图连通,只有两个顶点是奇数度,其余都是偶数度的。

常用处理流程

1.使用DFS或并查集判断连通性
2.判定度数是否满足条件 
3.获取回路
void euler(int u){
    for(int v = 0;v < n; v++) if(G[u][v] && !vis[u][v]){
       vis[u][v] = vis[v][u] = 1 /* vis[u][v] = 1 for 有向图*/
       euler(v);
       cout << u << "->" "v" << endl;   
    } 
}

欧拉回路

标签:style   ar   os   使用   sp   for   on   bs   amp   

原文地址:http://my.oschina.net/u/572632/blog/345131

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!