前言:前几天做了一道混合图欧拉回路的题,感觉这个算法比较厉害,学完之后写在这里怕以后忘了
算法目的:求混合图(有的边是单向,有的边是双向)的欧拉回路
预备知识:1.无向图欧拉回路求法
2.有向图欧拉回路求法
3.网络流算法
(其实有向图的欧拉回路相对于无向图来说就相当于再限制一下每个点出度=入度即可,第一个和第三个不会就自己去学吧)
大概思路:先对无向边任意定向,然后根据网络流的自调整功能来验证“能否通过调整将无向边的方向使这个图变成一个具有欧拉回路的图”
算法步骤:1.先对所有无向边进行任意定向,即随机为他们确定一个方向
2.此时这张图变成了一个有向图,我们计算出所有点的入度和出度,如果有点的入度与出度的奇偶性不同,那么无解
3.将所有入度>出度的点向超级汇点连一条容量为
混合图的欧拉回路
最新推荐文章于 2022-06-30 11:26:40 发布