欧拉道路 欧拉回路 欧拉图 欧拉半图

欧拉回路:包含图G的每一条边的回路
欧拉图:含有欧拉回路的图
欧拉半图:含有欧拉道路的图
欧拉回路与欧拉道路的关系
如果欧拉道路的起点与终点重合,那么这条欧拉道路是欧拉回路
定理
:无向连通图G是欧拉图,当且仅当G不含奇数度结点(G的所有结点度数为偶数);
:无向连通图G含有欧拉通路,当且仅当G有零个或两个奇数度的结点;
:有向连通图D是欧拉图,当且仅当D中每个结点的入度=出度
:有向连通图D含有欧拉通路,当且仅当D中除两个结点起点s终点t外,其余每个结点的入度=出度,(起点s的入读
=出度+1,终点t的出度=入度+1 或两个点的入读=出度)
有向图在考虑图的连通性的时候应去除边的方向性
无向图输出欧拉路或回路的方法
void euler(int start)
{
for(int next=0;next<n;next++)
{
if(G[start][next]&&color[start][next])
{
color[start][next]
=color[next][start]=false;//已经遍历
euler(next);
cout
<<next<<""<<start<<endl;
}
}
}
如果为有向图只需修改color[start][next]
=color[next][start]=false;
为color[start][next]
=false;即可
posted @ 2011-02-28 14:45  Penseur  阅读(...)  评论(...编辑  收藏