欧拉回路
2015-09-06 16:31 itwolf 阅读(273) 评论(0) 编辑 收藏 举报一、定义
欧拉回路:图G,若存在一条路,经过G中每条边有且仅有一次,称这条路为欧拉路,如果存在一条回路经过G每条边有且仅有一次,
称这条回路为欧拉回路。具有欧拉回路的图称为欧拉图。
二、判断欧拉路是否存在的方法
(1)有向图:
1、图连通
2、所有顶点的出度都等于入度或者有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度。
(2)无向图:
1、图连通,
2、所有的顶点都是偶数度或者只有两个顶点是奇数度,其余都是偶数度的。
图的连通性判断:从任意一个结点开始深度优先或者广度优先遍历,如果图是连同的那么必然所有节点都被遍历过,否则图不连通。
为此可以先设置一个数组visited[]初始化全为false,然后深度优先或者广度优先遍历一下,最后在遍历一遍visited[]如果出现false则不连通,否则连通。