欧拉回路,欧拉路径,欧拉图详解

来源:互联网 发布:淘宝订单状态 编辑:程序博客网 时间:2024/06/05 07:26

欧拉回路定义:

欧拉回路:每条边恰好只走一次,并能回到出发点的路径

欧拉路径:经过每一条边一次,但是不要求回到起始点

首先看欧拉回路存在性的判定(这里先不说混合图):

一、无向图
每个顶点的度数都是偶数,则存在欧拉回路。

二、有向图(所有边都是单向的)
每个节顶点的入度都等于出度,则存在欧拉回路。

判断欧拉路径是否存在的方法

1.有向图 : 图连通,当且仅当该图所有顶点数的度数为0,或者一个顶点的度数为1,另一个顶点的度数为-1,其他顶点的度数为0.

2.无向图:图连通,当且仅当该图所有顶点的度数为偶数,或者除了两个度数为奇数外其余的全是偶数。

判断欧拉回路是否存在的方法

1.有向图:图连通,所有的顶点出度=入度。

2.无向图:图连通,所有顶点都是偶数度。

程序实现一般是如下过程:

1.利用并查集判断图是否连通,即判断p[i] < 0的个数,如果大于1,说明不连通。

2.根据出度入度个数,判断是否满足要求。

3.利用dfs输出路径。

(以后再有理解再补充害羞