0
重み付き有向グラフで再帰深度最初の探索を実装しようとしていますが(ただし、出力が常にオフであるようですが)、ノードの追加訪問があります。作業: ラベルが訪れたverticiesに割り当てられた文字(A = 0、等が...)、特定されたインデックスの頂点が訪問されているかどうかを保持するベクトルです重み付き有向グラフ
void Dfs(int u, vector<bool> visited, vector <char> label, vector < vector <int> > adj)
{
visited[u] = true;
cout << label[u];
for (int i = 0; i < (signed)visited.size(); i++)
{
if (visited[i] != true && adj[u][i] != 0)
{
cout << "->";
Dfs(i, visited, label, adj);
}
}
}
、およびadjは隣接行列です
私はグラフを持っており、正しい深さの最初の検索はA-> D-> B-> C-> Eです。私が得るのはA-> D-> B-> > C→E→C→B- > E。助けが必要な場合、この例では隣接行列は次のようになります。
| A B C D E
--|---------------
A | - - - 6 -
B | - - 8 3 2
C | - 8 - 7 -
D | 6 3 7 - -
E | - 2 - - -
それは私が忘れてしまうような馬鹿げたものでした。ありがとう。 – Mongo