题意:混合图中找欧拉回路
解:基本原理不变。问题在于“混合”上,对于混合图,思想一般是转化为有向图。问题转化为如何给无向边定向,以与既有有向边共同构成欧拉回路。
首先给予无向边随机方向,再对其方向进行调整。
对于纯有向边,我们需要入度等于出度;对于单个结点也需如此。
因此需要无向边最终方向达到上述效果。
考察一对结点u->v,若对其相应边进行调整(逆向),结果是in(u)+1,out(u)-1,in(v)-1,out(u)+1。
总结一下,我们的可行操作是对各个假定有向边调整方向,效果是两侧结点入度和出度变化,目标是入度等于出度。
以上是思维过程和问题转化。
如何据此用计算机实现呢?
可行的方法是网络流模型。
我们可以发现,对于某边两侧节点的入出度变化可以抽象为一个“流”,经由无向边流动。