欧拉路径(Euler_Path)和欧拉回路(Euler_Loop)
生活随笔
收集整理的這篇文章主要介紹了
欧拉路径(Euler_Path)和欧拉回路(Euler_Loop)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、基本概念
歐拉路徑:歐拉路是指從圖中任意一個點開始到圖中任意一個點結束的路徑,并且圖中每條邊通過的且只通過一次。
歐拉回路:歐拉回路是指起點和終點相同的歐拉路。
二、存在歐拉路的條件
1.無向連通圖存在歐拉路的條件:
所有點度都是偶數,或者恰好有兩個點度是奇數,則有歐拉路。若有奇數點度,則奇數點度點一定是歐拉路的起點和終點,否則可取任意一點作為起點。
2.有向連通圖存在歐拉路的條件:
- 每個點的入度等于出度,則存在歐拉回路(任意一點有度的點都可以作為起點)
- 除兩點外,所有入度等于出度。這兩點中一點的出度比入度大,另一點的出度比入度小,則存在歐拉路。取出度大者為起點,入度大者為終點。
三、算法實現:
主要分為dfs和并查集兩種方法
四、例題
https://www.luogu.org/problemnew/show/P1341
http://acm.hdu.edu.cn/showproblem.php?pid=3018
http://acm.hdu.edu.cn/showproblem.php?pid=1878
五、參考文章
https://www.cnblogs.com/Lewin671/p/8986270.html
https://en.wikipedia.org/wiki/Eulerian/_path#Hierholzer's\_algorithm?
總結
以上是生活随笔為你收集整理的欧拉路径(Euler_Path)和欧拉回路(Euler_Loop)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [HNOI2003]操作系统
- 下一篇: 无序字母对