之前稍微了解有向圖、無向圖、混合圖的歐拉通路、歐拉回路,這里做下筆記,以便日后翻閱。
無向圖:
存在歐拉回路的條件:原圖連通,每個結點均為偶度結點。
存在歐拉通路的條件:存在歐拉回路,或原圖連通,有兩個結點為奇度結點,其他結點均為偶度結點。
有向圖:
存在歐拉回路的條件:基圖連通,每個結點的入度等於出度。
存在歐拉通路的條件:存在歐拉回路,或基圖連通,有一個結點入度等於出度+1,有一個結點出度等於入度+1,其他結點的入度等於出度。
混合圖:
存在歐拉回路的條件:
1.將無向邊隨便定向,每個結點的入度與出度之差為偶數。
2.進行網絡流,若滿流,則存在歐拉回路。
(網絡流構圖:忽略有向邊。對於隨便定向的無向邊,按照所定向連邊,流量為1 。對於入度大於出度的點u,連邊(u,T),流量為 abs( (in[u]-out[u])/2 )。對於出度大於入度的點v,連邊(S,v),流量為abs( (in[v]-out[v])/2 ))。
存在歐拉通路的條件:存在歐拉回路,或
1.將無向邊隨便定向,有兩個結點的入度與出度之差為奇數,其他結點的入度與出度之差為偶數。
2.在兩個奇度結點間連一條無向邊,進行網絡流,若滿流,則存在歐拉通路。
(網絡流構圖:忽略有向邊。對於隨便定向的無向邊,按照所定向連邊,流量為1 。對於入度大於出度的點u,連邊(u,T),流量為 abs( (in[u]-out[u])/2 )。對於出度大於入度的點v,連邊(S,v),流量為abs( (in[v]-out[v])/2 ))。
混合圖的求解過程其實是,無向邊有向化,求解有向圖的歐拉路。
而求解有向圖、無向圖的歐拉路類似隊列搜。
以上,有錯望指出。
