论欧拉回路
概念:
歐拉回路:經過圖中所有邊恰好一次,并回到原點的路徑
歐拉路徑( 歐拉通路):經過圖中所有邊恰好一次的路徑。
半歐拉圖:存在歐拉通路,但不存在歐拉回路;
歐拉圖:存在歐拉回路;
基圖:有向圖忽略所有邊的方向,得到的無向圖為有向圖的基圖。
性質及定理
無向圖
定理1:
無向圖G存在歐拉回路的充要條件是G中無奇數度數的節點。
判斷半歐拉圖的推論:
推論1:
1.無向圖G 為半歐拉圖,當且僅當G為連通圖且除兩個頂點的度為奇數外,其余所有的頂點的度都為偶數。
2.G為歐拉圖時, 所有點度數為偶數,或者只有2個點度數為奇數
有向圖
定理2:
1.有向圖為歐拉圖,當且僅當G 的基圖連通,且所有頂點的入度等于出度。
2.每個頂點入度等于出度;
或者只有1個點入度比出度小1, 從這點出發,只有1個點出度比入度小1,從這個點結束,其他點入度等于出度。
歐拉回路的判定:
1.無向圖是否具有歐拉通路或回路的判定:
G有歐拉通路的充分必要條件為:G 連通,G中只有兩個奇度頂點(它們分別是歐拉通路的兩個端點)。
G有歐拉回路(G為歐拉圖):G連通,G中均為偶度頂點。
2. 有向圖是否具有歐拉通路或回路的判定
**D有歐拉通路:
D連通,除兩個頂點外,其余頂點的入度均等于出度,這兩個特殊的頂點中,一個頂點的入度比出度大1,另一個頂點的入度比出度小1。
D有歐拉回路(D為歐拉圖):D連通,D中所有頂點的入度等于出度。
(注意:這里說有向圖連通,說的是有向圖是弱連通圖。即把有向圖中的邊變成無向邊,只要該圖連通,那么原有向圖即是弱連通圖。實際中可用并查集判斷是否弱連通)
總結
- 上一篇: Java实现 简体中文 与 阿拉伯数字
- 下一篇: TOPcoder准备