欧拉回路是指在一个图中存在一个回路使得从一点出发又回到该点,并且不重复地走完图中所有的边。
解决方法:
1,运用并查集判断所有点是否构成一个图
2,判断点的度(如果是有向图,所有点的入度等于出度,如果是无向图,所有点的度都为偶数)
原理:如果要实现欧拉回路,那么对于有向图来说,通过一条边进入某点,肯定存在一条没走过边离开该点,所以入度自然等于出度,对于无向图,每通过一条边进入某点也必然存在一条没走过的边出去,因为无向图的边是完全相同的,所以每个点的度肯定是偶数。
欧拉路径是指在一个图中存在一条路径使得从一点出发到达另一点,并且不重复地走完图中所有的边。
解决方法:
1,同样使用并查集判断所有点是否构成一个图
2,判断点的度(如果是有向图,只有一个点出度比入度大1,也只有一个点入度比出度大1,其余的点入度等于出度,如果是无向图,只有两个点的度是奇数,其余均为偶数)
原理:如果要实现欧拉路径,只存在一个起点和一个终点,对于起点,出去的边比进来的边多1,终点进来的边比出去的边多1,对于有向图来说,起点就是出度比入度大1的点,而终点就是入度比出度大1的点,对于无向图,起点和终点的度为基数
理解了欧拉路径后就不难发现,终点和起点是成对出现的,那么通过图中没点的度就可以判断该图最少可以分成几个欧拉路径的组合,例如:无向图中存在4个奇数度的点,那么最少分成两个欧拉路径(思考一下,无论怎样都不会出现奇数个奇数度的点);有向图中出度比入度大1的点有4个,那么最少分成4个欧拉路径(入度比出度大1的点也一定是4个)
在欧拉路径题目中,有时会包含欧拉回路的情况,要想清楚。
在欧拉路径,欧拉回路的题目中还要注意以什么为边,以什么为点
欧拉路径 欧拉回路的简易解释
最新推荐文章于 2023-12-15 16:17:55 发布