こんにちは、私は質問があり、助けが必要なのかもしれません。おそらく、それはofftopicですが、私はすでにCode Reviewに投稿しました。私は擬似コードを使用してこれを書いていますが、私は立ち往生しています.1つの接続コンポーネントのVerticesの数が偶数であるかどうかを調べる必要があります。私の考えは、DFSを実装し、1つのカウンタを入れてから%2 == 0のカウンタが正しいかどうかをチェックすることです。私の問題はどこにカウンターを置くべきかわからないことです。 DFS:が主な方法だとしましょう。デプスファーストサーチアルゴリズム - 接続されたコンポーネントをカウントする
G =(V、E)V-頂点、E-エッジ S-開始点(頂点)
DFS(G,s):
boolean result <-- false
Discovered[v] <-- false for all Vertices V(v)
DFS1(G,s)
if (DFS1(G,u) % 2==0)
result <-- true
DFS1(G,u):
Discovered[u] <-- true
// counter ++ But where I should initialize it??
foreach Edge (v,u) incident to u
if !Discovered[v]
DFS1(G,v)`
DFS1への再帰呼び出しとその値に1を返します。 –
もう少し詳細に説明してください。なぜ値+1ですか?その合計をどこで初期化しますか?もし私がそこに置くと、sum = 0は再帰的メソッドのために常に0になります。たぶん私はこれを理解していないが、あなたが私に説明することができれば感謝します –