1. 程式人生 > >尤拉路 歐拉回路 定理及演算法

尤拉路 歐拉回路 定理及演算法

一:無向圖  

1、定義:給定無孤立結點圖G,若存在一條路,經過圖中每條邊一次且僅一次,該條路為尤拉路,

若存在一條迴路,經過圖中每邊一次且僅一次,該回路稱為歐拉回路。

具有歐拉回路的圖稱為尤拉圖。

2、定理:無向圖G具有一條尤拉路,當且僅當G是連通的,且有0個或者是兩個奇數度的結點。

3、推論:無向圖G具有一條歐拉回路,當且僅當G是連通的,並且所有結點的度數均為偶數。

一筆畫問題就是典型的這類問題:要判定一個圖G是否可一筆畫出,有兩種情況,

1、從圖中某一個結點出發,經過圖G中每個邊一次再回到該結點->歐拉回路

2、從G中某一個結點出發,經過G中每邊一次且僅一次到達另一個結點->尤拉路

 二:有向圖

1、定義:給定有向圖G,通過圖中每邊一次且僅一次的一條單向路(迴路),稱作單向尤拉路(迴路)。

2、定理:有向圖G具有 單向尤拉路,當且僅當它是連通的,而且除兩個結點外,每個結點的入度等於出度,但這兩個結點中,一個結點的入度比出度大1,另一個結點的入度比出度小1。 

3、定理:有向圖G具有一條單向歐拉回路,當且僅當是連通的,且每個結點入度等於出度。 


專題練習:

判斷尤拉路,歐拉回路:->注意圖聯通,可以DFS或者並查集

一.無向圖

歐拉回路:每個頂點度數都是偶數

尤拉路:所有點度數為偶數,或者只有2個點度數為奇數

二.有向圖(非混合)

歐拉回路:每個頂點入度等於出度

尤拉路:每個頂點入度等於出度;

或者只有1個點入度比出度小1, 從這點出發,只有1個點出度比入度小1,從這個點結束,其他點入度等於出度

三、有向圖(混合圖)

待填坑...

題號:

1、 HDU 3018 Ant Trip   題解戳->這裡