最近在看一篇生物蛋白分解的文章,其中用到了欧拉回路,就翻开课本复习了一下。
首先给出欧拉图的相关概念:
设G=<V,E>是连通图(无向的或有向的)。
G中经过每条边一次并且仅一次的通路称为欧拉通路;
若G中的欧拉通路又是回路,则称它为G中的欧拉回路;
具有欧拉回路的的图称为欧拉图。
连通图基于连通的概念。在一个无向图 G 中,若从顶点vi到顶点vj有路径相连(当然从vj到vi也一定有路径),则称vi和vj是连通的。如果 G 是有向图,那么连接vi和vj的路径中所有的边都必须同向。如果图中任意两点都是连通的,那么图被称作连通图。如果此图是有向图,则称为强连通图(注意:需要双向都有路径)。图的连通性是图的基本性质。
强连通图:有向图 G=(V,E) 中,若对于V中任意两个不同的顶点 x和 y,都存在从x到 y以及从 y到 x的路径,则称 G是强连通图。相应地有强连通分量的概念。强连通图只有一个强连通分量,即是其自身;非强连通的有向图有多个强连分量。
欧拉图的判定:
(无向图)
无向图G具有欧拉通路,当且仅当G是连通图且无奇度顶点或有两个奇度顶点。若无奇度顶点,则通路为回路;若有两个奇度顶点,则它们是每条欧拉通路的端点。
无向图G为欧拉图,当且仅当G是连通的且无奇度顶点。
(有向图)
一个有向图D有欧拉通路,当且仅当D是连通的,且除了两个例外的顶点外,其余顶点的入度均等于出度这两个例外的顶点中,一个顶点的入度比出度大1,另外一个顶点的入度比出度小1.
一个有向图D是欧拉图,当且仅当D是连通的,且所有顶点的入度等于出度。