欧拉图

膜拜 alex_wei 就对了

无论是对于无向图还是有向图而言,必要性都是显然的。考虑最终欧拉回路的形态,每次进入一个点,都要从该点走出去,所以出边和入边必须两两抵消。对于起始点,它一开始走出去的边和最后走回它的边同样抵消了,所以有向图存在欧拉回路必须满足每个点出度和入度相等。同理可证无向图每个点的度数必须为偶数。
考虑一个点倘若出边与入边是不平衡的,那么我们考虑欧拉回路每条边只能经过一次,那么是不是会有出边条不交的路径,这些路径都需要回到当前点,但由于入边少,所以会有入边被经过不止一次,不符定义。故不成立。

对于无向图和有向图的欧拉通路,注意必须从奇点或唯一的出度大于入度的点开始 dfs。其它地方和欧拉回路没有区别。
考虑欧拉回路的构造是先找回路(环),然后对于回路上的边删掉,然后再对回路上的点找欧拉回路,然后再通过这个环拼在一起。因为我们已经证明了只要符合判定条件,那么爆搜一定能搜到环(回到爆搜起点)这样就是欧拉回路的充分性以及算法流程。
考虑初始的边找环再递归实在没必要。考虑找环的过程中最后一次回溯到这个点(不会再递归了),是不是一定是在上面算法流程所找的第一个环。那么其他分支小环已经找好了,那么我们只需要将当时的点压入答案栈中然后回溯即可。
考虑欧拉路径与欧拉回路的构造关系,是不是只要把第一次找的环变成路径,其他分支还是找回路就行了?那么从哪开始能找到第一次的路径?显然是判定的起点开始,那么因为它无法回到自己,所以会在判定的终点时就结束这条路径了。正确性显然。


__EOF__

本文作者F x o r G
本文链接https://www.cnblogs.com/xugangfan/p/16574401.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   FxorG  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示