歐拉回路:圖G,若存在一條路,通過G中每條邊有且僅有一次,稱這條路爲歐拉路,若是存在一條迴路通過G每條邊有且僅有一次,稱這條迴路爲歐拉回路。具備歐拉回路的圖成爲歐拉圖。
spa
有向圖:圖連通,有一個頂點出度大入度1,有一個頂點入度大出度1,其他都是出度=入度。 無向圖:圖連通,只有兩個頂點是奇數度,其他都是偶數度的。
1.使用DFS或並查集判斷連通性 2.斷定度數是否知足條件 3.獲取迴路 void euler(int u){ for(int v = 0; v < n; v++) if(G[u][v] && !vis[u][v]){ vis[u][v] = vis[v][u] = 1 /* vis[u][v] = 1 for 有向圖*/ euler(v); cout << u << "->" << v << endl; } }