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

欧拉图

时间:2016-08-10 19:15:10      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

欧拉路径:每条边经过且只经过一次的路径

欧拉回路:如果从某个点出发,经过且只经过每条边一次,最后又回到这个点的路径

欧拉图:存在欧拉回路的图

图:

平凡图:只含有一个点

重边:两点之间有多条边

自环:从某点出发且不经过其他任何点又回到该点

简单图:没有自环和重边的图

完全图:任何两点之间都有边相连

子图:点和边都小于或等于原图,但这部分点的连接方式都与原图相同

结点的度:关联到结点的边的条数

入度:有向图入边的数目

出度:有向图出边的数目

例题:总共有n个点,给出m组的a,b的值,以为者a,b之间有一条边相连,如何判断这个图是不是欧拉图

for(int i=0;i<m;i++){

cin>>a>b;

deg[a]++;

deg[b]++;}

bool ok=true;

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

if(deg[i]%2!=0){

ok=false;

break;}}

if(ok)cout<<"Yes"<<endl;

else cout<<"No"<<endl;

例2:给出一个连通的有向图u,问这个图是不是欧拉图

for(int i=0;i<m;i++)

{cin>>u>>v;

out[u]++;

in[v]++;}

bool ok=true;

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

if(in[i]!=out[i]){

ok=flase ;

break;}

}

if(ok)cout<<"Yes"<<endl;

else cout<<"No"<<endl;

 

欧拉图

标签:

原文地址:http://www.cnblogs.com/shangjindexiaoqingnian/p/5757824.html

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