博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
欧拉回路
阅读量:7219 次
发布时间:2019-06-29

本文共 1946 字,大约阅读时间需要 6 分钟。

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

判断欧拉路是否存在的方法  

  有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度。

  无向图:图连通,只有两个顶点是奇数度,其余都是偶数度的。

  

  定理:无向图G具有一条欧拉路,当且仅当G是连通的,且有0个或者是两个奇数度得结点。  

  推论:无向图G具有一条欧拉回路,当且仅当G是连通的,并且所有结点的度数均为偶数。

 

判断欧拉回路是否存在的方法  

  有向图:图连通,所有的顶点出度=入度。

  无向图:图连通,所有顶点都是偶数度。

 

  定理:有向图G具有 单向欧拉路,当且仅当它是连通的,而且除两个结点外,每个结点的入度等于出度,但这两个结点中,一个结点的入度比出度大1,另一个结点的入度比出度小1。  

  定理:有向图G具有一条单向欧拉回路,当且仅当是连通的,且每个结点入度等于出度。

 

  程序实现一般是如下过程:

  1.利用并查集判断图是否连通,即判断p[i] < 0的个数,如果大于1,说明不连通。

  2.根据出度入度个数,判断是否满足要求。

  3.利用dfs输出路径。

 

  找欧拉回路:根据DFS(边)的性质,回溯是记录,可以求出欧拉回路。有向图与无向图的区别就是在DFS时,要标记的边,有向图标记一条就足以,而无向图需要将两条都标记。找欧拉通路原理与回路相同,代码也相同。

1 #include
2 #include
3 #include
4 using namespace std; 5 6 int first[100]; 7 int next[100]; 8 int v[100]; 9 int d[100];10 int vis[100];11 int times;12 int n,m;13 14 void dfs(int start)15 {16 int i,j,k;17 for(k=first[start]; k!=-1; k=next[k])18 {19 if(vis[k]==0)20 {21 vis[k]=1;22 dfs(v[k]);23 int temp1=k%m;24 if(k%m==0)25 temp1=m;26 d[times++]=temp1;27 }28 }29 }30 int main()31 {32 int i,j,k;33 while(cin>>n>>m)34 { 35 memset(first,-1,sizeof(first));36 memset(next,-1,sizeof(next));37 memset(vis,0,sizeof(vis));38 times=1;39 d[0]=-1;40 int temp1,temp2,temp3;41 for(i=1; i<=m; i++)42 { 43 cin>>temp1>>temp2; 44 if(first[temp1]==-1)45 {46 first[temp1]=i;47 }48 else49 {50 temp3=first[temp1];51 first[temp1]=i;52 next[i]=temp3;53 }54 v[i]=temp2;55 } 56 dfs(1); 57 for(i=1; i

 

转载地址:http://rstym.baihongyu.com/

你可能感兴趣的文章
centos7 python2和python3共存
查看>>
rhel6.2配置在线yum源
查看>>
分级聚类算法
查看>>
Web Services 入门(之二)
查看>>
随机模拟MCMC和Gibbs Sampling
查看>>
网络安全是一种态度
查看>>
POJ1131 Octal Fractions
查看>>
mysql-ulogd2.sql
查看>>
119. Pascal's Triangle II - Easy
查看>>
349. Intersection of Two Arrays - Easy
查看>>
[算法练习]最长公共子串(LCS)
查看>>
p转c++
查看>>
树(tree)
查看>>
codevs——2645 Spore
查看>>
ssh服务之 远程登录和端口转发
查看>>
java环境配置正确,但是tomcat不能启动的解决办法
查看>>
我就是想找个人聊聊天,说说我这近四年来的经历
查看>>
不同的测试方法使用的场景
查看>>
Hadoop快速入门
查看>>
Problem S
查看>>