转载自http://www.cnblogs.com/xpjiang/p/4396106.html
定理1:连通多重图中存在欧拉回路当且仅当图中所有顶点的度数为偶数。
首先,我们来证明充分性,即存在欧拉回路则图中的所有顶点的度数必然为偶数。在图中任取一点,以该点作为起点,沿着欧拉回路走,当前顶点的出度为1,然后经过其它的顶点,注意到如果欧拉路径经过一个顶点(包括起点),它必然离开这个点,这样出入度之和为偶数,直到所有的边逐一被走过,回路的终点在起点处结束,使得起点的入度加1,这样经过起点的度数和变成偶数,欧拉回路结束(注意到我们未加说明的假设了边的个数是有穷的,因此这个过程必然结束)。
其次,我们来证明必要性,即如果连通图中所有顶点的度数为偶数,则必然存在欧拉回路。我们通过构造性的存在性证明来说明这一点(这里有一些证明方法的相关介绍)。首先,我们在连通图中找寻一条回路(回路的选取是任意的并且总是能找到的,由上述充分性的证明可以有效的说明这一点),如果这条回路就是欧拉回路,那么结论已然成立了,否则,我们删除掉该回路中的所有边,出现孤立的顶点就忽略它,那么子图(不一定是连通的,并且仍然满足所有顶点的度数都是偶数的性质)与删除掉的回路一定有公共顶点(图的连通性保证了这一点),以该点作为起点继续找寻回路,然后删除,续行此法,直到所有的边都被删除为止(同上述充分性的证明中一样,边的个数的有穷性保证了这个过程必然结束),所有这些删除的回路连接起来就构成了一条欧拉回路。
至此,我们完成了欧拉回路存在性的充要条件的证明,并且应当引起注意的是在构造性的存在性证明中我们给出了一种找寻欧拉回路的算法过程。
接下来,我们证明下述定理。
定理2:连通多重图中存在欧拉通路且不存在欧拉回路当且仅当连通图中有且只用两个顶点的度数为奇数。
仍然先来证明充分性,即存在欧拉通路则图中有且只有两个顶点的度数为奇数,其他顶点的度数皆为偶数,注意到由于起点和终点是不同的,因此欧拉通路的起点和终点必然是两个奇数度的顶点,此外,不可能再有其他的奇数度的顶点了,因为我们沿着欧拉通路的起点走开来,只要经过一个顶点必然离开该顶点,一条入度边搭配一条出度边,共同为该顶点贡献偶数度,直到到达终点为止(当然,也可能再离开,只要终点还有边没有被走过)。
接下来,我们来证明必要性,即连通图中有且只有两个奇数度顶点,则必然存在欧拉通路,怎么来证明这一点呢?一种非常巧妙的方式是把欧拉通路做成欧拉回路,换句话说,我们连接两个奇数度顶点,这样连通图中所有顶点的度数均为偶数,由刚刚证明的定理1可知,该连通图存在欧拉回路,注意到只需把我们自己增加的那条辅助边删除,便证明了欧拉通路的存在性,我们再一次借助构造性的存在性证明来证明了这一点。